|
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 directoryseems to be pretty common among tla users. I think it would be cool to have:tla commit --- commits to personal archivetla 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-commitNow 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" archiveto 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`-SOURCENote 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
[Prev in Thread] | Current Thread | [Next in Thread] |