[cvsnt] Yet another obscure merge problem

Harrison, Andrew andy.harrison at anite.com
Tue Feb 24 17:14:10 GMT 2004


> From: Tony Hoyle [mailto:tmh at nodomain.org]
>
> How is CVS to distinguish between the case of the file being
> added/committed on Branch2 after it was deleted on branch1 or before?

> 2. Repository file not at branch/merge point, file removed on branch
> -> warning  + leave file alone

When a user does a tag or branch, CVS goes through the directory structure
and adds a new symbol to the RCS file of every currently active file in the
current branch. If it finds a file that was marked as deleted in the current
branch it does not add the new symbol to it. So, if that new symbol is used
in future, CVS cannot find a revision of that file associated with that
symbol. This is fine if doing an update or check-out as it simply does not
get (or it deletes) the file. However, as you have pointed out, it causes a
problem when merging.

If, on the other hand, when doing a tag or branch CVS were to add the new
symbol to deleted files too, this would solve this problem. When doing an
update or a check-out, the symbol would be associated with a deleted
revision and so the file would again not be retrieved (or would be deleted).
And now when doing a merge there would be a valid revision (albeit a deleted
one) at the branch point.

For a file that is added in Branch1 but not in Branch2, you would still get
the situation that there is no revision at the branch point. However since
this is now the only case were this could happen then you know that the file
has been added in Branch1 rather than deleted in Branch2 and can deal with
it accordingly.

Regards,
Andy

--
Andy Harrison - Platform Software Engineer 
Anite Telecoms Ltd. 127 Fleet Road, Fleet, Hampshire, GU51 3QN, UK
"No matter how bad things seem... 
...nothing could be worse than being used as a towel rail." - A.A. Milne

Please note that my email domain has changed from @anitetelecoms.com to
@anite.com 
Registered in England No. 1721900 Registered Office: 353 Buckingham Avenue,
Slough, Berkshire SL1 4PF, United Kingdom 





Scanned for viruses by MessageLabs. The integrity and security of this message cannot be guaranteed. This email is intended for the named recipient only, and may contain confidential information and proprietary material. Any unauthorised use or disclosure is prohibited.


More information about the cvsnt mailing list