logo       

Merge and copies: msg#00066

version-control.svk.devel

Subject: Merge and copies

Hi,

As some of you might already know, svk smerge has an annoying problem:

svk cp //trunk //local
svk cp //trunk/dir1 //trunk/dir2
svk smerge //trunk //local

In the case, the dir2 in trunk, which was copied from dir1, will be
expanded as newly added directory along with all files under it, when
they are merged to //local. This sucks.

This is due to the constraint in a Subversion API that we heavily use,
svn_repos_dir_delta, does not generate editor calls with copy history
information.

I'm starting to work on this problem, by injecting an editor that
turns the expanded editor calls into calls with copy information. And
I've already got the simplest cases working.

Anyway, even if you don't know what the editor things are about, I
want to ask your opinions the desired behaviour.

The main question is, should the copy be resolved to the local branch?
ie, for the above example, should be resulting //local/dir2 be copied
from //trunk/dir1, or //local/dir1? To me //local/dir1 sounds more
reasonable, as //trunk/dir1 won't work if //local/dir1 is not the same
mirror as //trunk.

But which //local/dir1? suppose you did mkdir //local/dir1/dummy
before the smerge. Should the newly merged dir2 be copied from the
dir1 with or without dummy?

Cheers,
CLK



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise