[Top][All Lists]

[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 
> 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,


>     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.


> 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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]