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

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

Re: [Gnu-arch-users] tla rescue-tree


From: Tom Lord
Subject: Re: [Gnu-arch-users] tla rescue-tree
Date: Tue, 20 Jan 2004 15:47:25 -0800 (PST)


    > From: Tez Kamihira <address@hidden>

(excessive quoting just because it's a cool use-case...)

    > Suppose there are two machines on the network, named S and C.
    > S is an archive server that has a development branch named
    > a--b--1.0 and its latest revision is patch-2. Client machine
    > named C checked out this revision over the network used by
    > "tla getrev" instead of "tla tag -S", because my first intent
    > was just taking a look at the revision and didn't have any
    > serious reasons. [....]

    > After a while, I changed my mind. Something hit me. Now
    > I want to get "tla tag" of the a--b--1.0--patch-2. But
    > unfortunately, S is down now or something is wrong with the
    > network itself or simply C is my laptop and I'm playing in
    > the train.

    > What shall I do ?  I follow the below steps. It works fine.

    >     1.) "tla undo" in my working copy(= project tree) to save
    >         the last modified changeset to some safety area.
    > 
    >     2.) make newly temporaly archive named "a--b-temp--1.0" in
    >         _my_ machine (= C) by "tla archive-setup a--b-temp--1.0".
    > 
    >     3.) "tla set-tree-version a--b-temp--1.0"
    > 
    >     4.) mkdir -p 
{arch}/a/a--b-temp/a--b-temp--1.0/address@hidden/patch-log
    > 
    >     5.) tla import
    > 
    >     6.) tla redo
    > 
    >     7.) tla commit -L"you can't be more helpful."

    > Network is reachable again. Now I can do

    >     8.) tla update a--b--1.0

    > or

    >     8'.) tla star-merge a--b--1.0 .

    > to get "a--b--1.0--patch-3" and "patch-4".

    > Everything works fine. "a--b-temp--1.0" behaves as if it's
    > a tag version of "a--b--1.0", even if it doesn't have a proper
    > "CONTINUATION" information in it.

Quite astute.  `tag' (and the CONTINUATION revisions it creates) is
(a) a performance optimization and (b) documentation (in logs and
archive structure) that you meant `tag'.


    > The only annoying step is "4.)", because in that operation I
    > assume specific directory formation in "{arch}" directory.

    > To avoid this operation, there maybe three solutions:

    >     a.) Let "tla set-tree-version" include "mkdir -p ..."
    >         operation. or add some option to do it.

    >     b.) Make a new command to do it more abstractly.

    >     c.) Make a more macro command named "tla rescue-tree",
    >         which does from "1.)" to "5.)" steps.

    > or already has a stuff for it ?

I haven't tried to recreate your scenario per se but `add-log-version' 
is probably the command you want.

-t





reply via email to

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