gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] how to recover from large conflicts?


From: Denys Duchier
Subject: Re: [Gnu-arch-users] how to recover from large conflicts?
Date: Fri, 26 Sep 2003 00:34:28 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux)

Thanks a lot Tom,

to make sure that I learned something, I tried to do this update in 5
different ways, which all worked :-) My situation is somewhat
complicated, so let me explain that first.

I need to be able to hack both at work and at home, and, in both
cases, possibly disconnected.  home and work are not directly
connected but can only talk to a gateway.

so, I have two archives, one for home and one for work, both mirrored
on the gateway, and I synchronize between the two after commuting.

address@hidden/cscvs--denys--1.1
  is originally a tag of
  address@hidden/cscvs--experimental--1.1--patch-18

address@hidden/cscvs--denys--1.1
  is originally a tag of
  address@hidden/cscvs--denys--1.1--patch-4

The patch that caused the merging problem is
  address@hidden/cscvs--denys--1.1--patch-2

But I need to star-merge into
  address@hidden/cscvs--denys--1.1

So, please note: I need to star-merge into the WORK archive, but the
problematic patch actually comes from an earlier revision of the HOME
archive revision that the WORK archive is a continuation of.  I
probably got the terminology wrong, but you get the (tangled) point.

It took me quite sometime to figure this out as the log history
available to me in the WORK archive did not contain the patch that I
was actually looking for (obviously).

METHOD 1
--------

backout changes by hand, star-merge, then reapply by hand.
the changes to backout were very small (4 lines) and this worked
well.

METHOD 2
--------

tla get address@hidden/cscvs--denys--1.1 FOO
cd FOO
tla replay --reverse address@hidden/cscvs--denys--1.1--patch-2
tla star-merge address@hidden/cscvs--experimental--1.1
tla replay address@hidden/cscvs--denys--1.1--patch-2
fix .rej then apply with patch

btw, since --exact has disappeared, the tutorial needs to be fixed.

METHOD 3
--------

tla get address@hidden/cscvs--denys--1.1 FOO
cd FOO
tla undo address@hidden/cscvs--denys--1.1--patch-1
tla star-merge address@hidden/cscvs--experimental--1.1
tla redo
fix .rej then apply with patch

At first I got this one wrong because I undid only to patch-2.  I feel
that the documentation for undo is not sufficiently clear.  It appears
to undo "up to but not including".

METHOD 4
--------

tla get address@hidden/cscvs--experimental--1.1 FOO
cd FOO
tla star-merge address@hidden/cscvs--denys--1.1
fix .rej the apply with patch
tla set-tree-version address@hidden/cscvs--denys--1.1

METHOD 5
--------

tla get address@hidden/cscvs--experimental--1.1 FOO
cd FOO
tla star-merge -t address@hidden/cscvs--denys--1.1
fix marked region
tla set-tree-version address@hidden/cscvs--denys--1.1

Again, thanks a lot for your help.  I feel like I finally understand
some of the basics :-)

Cheers,

-- 
Dr. Denys Duchier
Équipe Calligramme
LORIA, Nancy, FRANCE




reply via email to

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