[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: update bug (was: adding on branch)
From: |
Paul Edwards |
Subject: |
Re: update bug (was: adding on branch) |
Date: |
Tue, 03 Jun 2003 09:59:13 GMT |
"Pierre Asselin" <pa@invalid.invalid> wrote in message
i16ebb.618.ln@brick.verano.sba.ca.us">news:i16ebb.618.ln@brick.verano.sba.ca.us...
> I changed the title to attract new readers. Paul, your problem has
> nothing to do with the Attic or dead trunk revisions.
There are two different problems.
> It also happens
> if a file added on the trunk and a file with the same name is
> imported later. To reproduce,
Ok.
> 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
"gotcha" is SOP I believe. :-)
> cvs checkout -j first_import -j second_import
>
> You get a warning about "gatcha", but once the warning flies off the
> screen
Yep, flying off the screen is exactly the problem. My bodgy
workaround is to redirect to a file and grep for "has been
added". Bodgy bodgy bodgy. I'll be getting a job working for
Microsoft if I keep this up.
> 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
Exactly what is required.
> 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.
Exactly correct. Not very nice, I have to go and cut the file in
two and do my own diff, but I can live with that. The failsafe
is all that is required.
> Currently, the conflict information is lost.
Yep.
> 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
Yep, you sure do.
You've just completely described problem 2 out of my
ad-hoc list...
1. Import being handled differently when branch exists.
2. Merge not creating a conflict when branch exists.
3. diff and rdiff -s not coping with different branches having
different version numbers while still being identical.
(hopefully 50% fixed on cvs1-11-x-branch).
4. diff between two labels, first missing, second dead produces an
error instead of silence (hopefully fixed on cvs1-11-x-branch)
5. diff and rdiff are not mirrors (feature request, not bug).
Problem 1, although obstensibly minor, can be broken down
in two ways:
A. Imports are prematurely interfering with the head, they should all
go into the Attic until explicitly joined onto the head.
B. The automatic-import-to-head feature does not work when some
tinpot has created a tinpot branch.
BFN. Paul.