[Top][All Lists]
[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