[cvsnt] Rename in branch causing merge issues
ebenze at hotmail.com
Mon Feb 4 16:40:59 GMT 2008
"Gerhard Fiedler" <lists at connectionbrazil.com> wrote in message
news:58h31zxfmumd$.dlg at connectionbrazil.com...
> Arthur Barrett wrote:
>> Does anyone know what the default merge actions on renamed files are for
>> other systems, eg: ClearCase, PVCS, SVN etc? If you rename a.txt to
>> b.txt on branch and then merge to trunk does a.txt on trunk get the
>> changes or is a.txt on trunk renamed?
> I can't imagine that it makes sense not to rename. This would pretty much
> break any build. When you rename a file, you generally also change some
> makefile or other project file.
> When you then merge these changes from one branch into another, the
> contents of the makefile or project file get properly merged. In order for
> the project to continue to build, the rename of the files needs to be
> merged, so...
> How/when could it make sense to merge a makefile but not merge the file
> name changes that are reflected in the makefile?
I agree with Gerhard. I would expect any version control software to handle
file renames the same way that it handles content changes. Like Gerhard
said, it makes very little sense integrating file changes (includes,
makefiles, etc) which depend on the newer filenames without somehow
integrating the filename change at the same time.
I understand and agree that this might not be an "obvious" thing to do - ie:
what happens if when merging back from a branch you don't want to implement
the filename change, etc. In that case, this type of thing would have to be
handled somehow from the client.
I honestly have no idea how Perforce or Clearcase handle it. I'll ask
around and see how the other systems handle it.
In the meantime, however, any ideas as to the best procedure to handle this?
Do I have to re-rename the files in the trunk and commit the changes before
doing my merge?
More information about the cvsnt