Dale Worley wrote:
> Strictly speaking, Bob should get a conflict, because his working copy's
> BASE isn't the HEAD. But what happens when he does "svn update"? I would
> expect that it would move foo.txt to its new name, as modified by Bob. Or
> rather, I expect that it would abort with an error and complain that it was
> being told to rename a file that had local modifications, and the user
> needed to specify --force.
> Bob should get a conflict, because the file he's committing to is no
> longer there.
> Subversion does not silently move the change to the new location.
> (Even after Subversion gets real merge-tracking, it's not definite
> that it should do this.)
My problem is this:
The product I work with is a big monolith and we have made a decision to
try and break it up into modules. Doing so implies a major restructuring
and that will take some time. There's no way we can put all day-to-day
development on the product to a halt during that period. Consequently,
the scenario I just described will happen quite frequently.
I've been involved in projects before where this has been done
successfully. We then relied on a version control system that didn't use
the file location to identify the content. A change of content was very
different from a move since the move only affected the versioned
directory structure. I was under the impression that Subversion would
work much in the same way.
The desired behavior would be that Bob would get a merge conflict (when
he updates) where his and Bills changes to the content would both
appear. The fact that Bill moved the file should not generate a conflict
since that only affects the directories. A conflict on the directories
would only occur if Bob did something affecting the same directories.
Bill changed location and content. Bob changed the content only. No
conflict in location.
Dave's comment suggests that this might work out well. What happens when
--force is used? Will Bob be able to first accept the move and then
handle the content merge conflict manually?
A related question is what happens when several branches exists. I.e.
you have 2.0 and a 3.0. Some stuff is fixed on for 3.1 that you want to
backpatch and create a 2.1. The file is not in the same location in 2.0
and 3.0. Will subversion assist in any way there?
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Thu Nov 11 09:01:42 2004