update bug (was: adding on branch)
[email protected] (Pierre Asselin)
| Newsgroups | gmane.comp.version-control.cvs.bugs |
|---|---|
| Organization | http://extra.newsguy.com |
| Message-ID | <[email protected]> |
I changed the title to attract new readers. Paul, your problem has
nothing to do with the Attic or dead trunk revisions. It also happens
if a file added on the trunk and a file with the same name is
imported later. To reproduce,
import a test tree
check out the trunk
add a file "gatcha" on the trunk, commit, delete the sandbox
add a file "gatcha" to the initial import tree, do a second import
cvs checkout -j first_import -j second_import
You get a warning about "gatcha", but once the warning flies off the
screen there is no indication of a conflict. The merge logic seems to be:
1) file has the new import tag but not the old, so must add
2) file is already present, can't add; warn
3) oh, well.
I would much prefer if update (or checkout -j -j), finding the file
already in the sandbox, attempted the three-way merge between sandbox
and import, with /dev/null as the common ancestor. That seems to often
yield a file with the two versions bracketed by conflict markers, even
if the two versions are almost identical. Not very good, but at least
it's fail-safe. Currently, the conflict information is lost.
Yow. I guess I'll have to do my merges like I do my imports and
capture the screen output
cvs update -j blah -j blahblah 2> ../err | tee ../out