Is there some reason why the -j's could not be recorded in the CVS directory,
and corrected with each update? The joins shouldn't be recorded in the
repository until the commits are done anyway.
-j makes a notation in the CVS directory (or appends an existing one if
multiple joins are done between commits), and -r and -A clear out the
notations. At commit time, the notations could be recorded in the RCS
files for future use.
--- Forwarded mail from [EMAIL PROTECTED]
On Wed, Jun 13, 2001 at 09:00:09PM -0700, Paul Sander wrote:
> If CVS had and equivalent to ClearCase' merge arrows, then a more intelligent
> choice could be made for the reference version, reducing the distances of the
> diffs and eliminating the needless conflicts.
Of course, that's nearly impossible to do within CVS.
cvs up -j
change change change change
cvs up
change change change
cvs up
cvs commit
compare to
cvs up -j
change change chang echange
oop... don't like that
find . -name '*.[ch]' | xargs rm
cvs up
change change change
cvs up
cvs commit
Which is merged?
which isn't?
There would probably have to be an extra lot of special casing to handle
the fact that this file had had a -j done onto it, but not yet committed.
And if it had been deleted and updated, mark that -j as undone.
Plus, let's say you do the following:
cvs up -r branch
cvs tag tag1
cvs up -A
cvs up -j branchpoint -j tag1
cvs commit
cvs up -r branch
cvs tag tag2
cvs up -A
cvs up -j tag1 -j tag2
cvs commit
Which is how one usually does multiple merges.
But lets say you have some changes you don't want to merge. So you
purposefully move one of the tags past the version so those changes don't
get looked at. Not something you could easily do with cvs automatically
tracking it.
--- End of forwarded message from [EMAIL PROTECTED]
_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs