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


From: John Arbash Meinel
Subject: Re: [Gnu-arch-users] How to recover from interrupted commit...
Date: Tue, 01 Feb 2005 11:41:41 -0600
User-agent: Mozilla Thunderbird 1.0 (Macintosh/20041206)

Rjae Easton wrote:


I am gathering that deleting the ++revision... directory unnecessary -
and should be avoided. I am also getting the sense that during a
commit, multiple patches may be locked. If this is true, perhaps the
--break needs to be applied to each lock.

Well, honestly, manually doing anything in the archive should be avoided.

I did some investigation of the archive and noticed a list of
"unlocked" patches - which leads me to think that multiple locks
exist. But the message I get is consistent with what I see elsewhere:
cannot acquire lock (on the latest patch). That patch dir
unfortunately does not exist.

Where are you seeing these? The only place I am aware of "unlocked" /
"locked" is in pristine trees in the current working directory. IE
$wd/{arch}/++pristine-trees/unlocked/...
I believe these just exist so that while you are *working* and doing
stuff like changes, etc. tla can temporarily lock the local cache of a
patch so that it doesn't get deleted.

But in the archive, there is only 1 place that real modifications take
place, and that is on the last patch. Where the
"++revision-lock/+contents" is.

When you commit, the above directory gets renamed something else while
the commit is taking place, which is then renamed again to the final
"patch-148", and then a new ++revision-lock/+contents is created.
(probably the new directory is created before the final rename, since
atomic renaming is tla's approach to locking and integrity).

I *think* it is enough to get rid of "++revision-lock-held-by..." and
re-create the ++revision-lock/+contents directories. (make sure
everything is spelled correctly and the directories have the correct
permissions.)

I guess I was hoping that a maintenance tool had been created that
knew how to gracefully - and if necessary interactively - return to a
pristine state. Do you or anyone else know of such a tool?

I don't know of one, but "tlacontrib" and "tlatools" are good places to
look.
address@hidden/tlacontrib--devo--1.3
address@hidden/tla-tools--devo--0
look on the supermirror http://mirrors.sourcecontrol.net/ for the
archives, and their might be newer versions of these packages.

John
=:->

You've done enough that I can't guarantee this will work, but it is the
general solution.
John
=:->

PS> My example would fail in baz, since if you exit the gpg signature,
it automatically unlocks the revision. At least as of 1.1 or something
like that. But since your case involves an ssh disconnect, I think it is
still valid.

Thanks.

--
Rjae Easton
Applanet, Inc.
c: +1.508.369.7339
e: address@hidden
blog: http://blogs.applanet.com/percs/
wiki: http://applanet.com/wiki/default.aspx/Rjae.HomePage
aim: M1ngSheng
msn: address@hidden
Y!: m1ngsheng




_______________________________________________
Gnu-arch-users mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/



<< signature.asc >>



Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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