arx-users
[Top][All Lists]
Advanced

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

Re: [Arx-users] Wedged another archive


From: Walter Landry
Subject: Re: [Arx-users] Wedged another archive
Date: Mon, 13 Dec 2004 22:50:34 -0500 (EST)

Kevin Smith <address@hidden> wrote:
> I'm really strugging with conflict resolution. The stuff you (Walter)
> sent earlier about conflict results was great, but not yet enough for
> this pathetic newbie.
> 
> Once again, I made some local changes to my arx branch (arx.kevins) that
> conflicted with changes you made. When I merged in your changes
> (--in-place), I got a conflict.
> 
> I tried to install meld, but the gentoo ebuild is currently broken so it
> won't compile. I tried xxdiff, but couldn't see how to pass it a .rej
> file as the third input. I tried applying the .rej file using 'patch',
> but it refuses to apply to either browse.cpp or browse.cpp.orig.

Correct.  If "patch" could have applied the patch, it already would
have.  To resolve the patch, you resolve it by hand by cutting and
pasting appropriate lines from the .rej file.  Alternately, if you're
using emacs, you can use the prescription I linked to earlier.

> It seems that it's really easy for me to keep my changes and discard
> yours (by copying the .orig file). That's rarely what I would want to
> do. I haven't yet found any way (easy or hard) to discard my changes and
> accept yours. 

Switch the order of the merge commands.  So where you originally did
something like

  arx merge merged_arx address@hidden/arx.2.1 address@hidden/arx.kevins

instead do

  arx merge merged_arx address@hidden/arx.kevins address@hidden/arx.2.1

> At this point, my working copy is broken. It's frustrating that it's so
> easy to end up with a working copy that's hard to repair. If the file
> just ended up with cvs-like conflict markers, it would be easier (I know
> you said that's in your roadmap).
> 
> In this case, what I really want to do is undo my own committed patch
> (because it has been obsoleted by your changes), and then be able to
> check in your code. So I tried:
> 
>   arx undo
>   rm -R  ,,undo-0/
>   arx delete-revision arx.kevins,2

Agh!  You probably should not have run delete-revision.  I should put
more warnings and make it more difficult to use.  It is really only
meant for removing things that should not be in the archive (e.g. huge
binaries, kiddie porn).

> I fiddled a bit with fork, but ended up trying this:
> 
> address@hidden work $ arx get address@hidden/arx.kevins arx2
> CORRUPTED_ARCHIVE: There is no checksum file for this revision in the
> archive
>         address@hidden/arx.kevins,2

This is right.

> address@hidden work $ arx get address@hidden/arx.kevins,1 arx2
> No such revision in the archive
>         address@hidden/arx.kevins,2

This is a bug.  This should have worked.  In the meantime, try tagging
instead

  arx tag address@hidden/arx.kevins,1 address@hidden/arx.kevins

> Sigh. Looks like I should just delete this branch and re-get wlandry,
> like I did last time. 

In any case, what you really wanted to do was something like

  arx get address@hidden/arx.2.1 wlandry_arx
  arx history --dir wlandry_arx --add address@hidden/arx.kevins
  arx tree-branch address@hidden/arx.kevins
  arx commit -s "Reverted to wlandry's code"

That will create a revision that reverts all of the changes that you
made, but still records that you made those changes.  This is
described in Section 5.8.2.1.

Walter




reply via email to

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