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

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

Re: [Gnu-arch-users] Mirrors and remote repositories...


From: Aaron Bentley
Subject: Re: [Gnu-arch-users] Mirrors and remote repositories...
Date: Thu, 11 Mar 2004 21:41:58 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Pierce T.Wetter III wrote:

I would like that too. Personally, I think that this structure:

remote archive
   mirror of remote archive
      personal archive
         working directory

seems to be pretty common among tla users. I think it would be cool to have:

tla commit   --- commits to personal archive
tla parent-commit --- merge personal to remote, updating mirror in process.

I think that would be very, very cool, because your work pattern could be:

Do lots of incremental work, logging each step:
tla commit -s "changed hallo to hello" hw.c
tla commit -s "added punctuation" hw.c
tla commit -s "added new line" hw.c

Share changes with others:
tla parent-commit

Now you can already do this with star-merge etc., but I'm wondering if we couldn't make this both simpler and more fool proof by explicitly adding a "parent" archive
to the archive meta data.

I'm not sure that's required. Usually, you want to commit to the package-version that you tagged from. The new "aba tree-source" command can provide that for you.

In fact, I can easily imagine a situations in which different packages in the same archive had different "parent archives". So I really think it's better to use the existing ancestry infrastructure.

That is, right now, archives can "chain" from other archives, but if they had a concept of a parent ("tla archive-info parent" could return this) then a parent-commit could be implemented as an aba script.

so "aba parent-commit" would do:

tla commit   #(commit to local archive)
tla star-merge -A `tla archive-info parent` `tla tree-root` # merge into parent

I think you meant `tla tree-version` here. But merge does something more like:
tla star-merge `aba tree-source`

(or you can override it with ++merge-source)

What I don't see here is any step committing the changes to the parent. Is that deliberate?

Perhaps you also want
tla archive-mirror `tla archive-info parent`
tla set-tree-version `tla archive-info parent`
tla update
tla undo
tla star-merge `tla my-default-archive`--`tla tree-version`
if ! aba conflicts > /dev/null; then exit 2; fi
tla commit `tla archive-info parent`-SOURCE

Note that star-merge may produce conflicts, and this will invoke it twice. So you'll need to recover gracefully if it aborts due to conflicts. Also, I don't think it's wise to force the local packages to be named identically to the remote packages from which they come.

Aaron




reply via email to

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