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: Pierce T . Wetter III
Subject: Re: [Gnu-arch-users] Mirrors and remote repositories...
Date: Wed, 10 Mar 2004 12:40:50 -0700


No, you're reading it right, mirrors are read-only. However, you can
have another archive on your laptop, a local archive, from which you can
merge back to the remote one whenever you want.

In my opinion, a "commit" against a mirror should be automatically
redirected to the mirrored repository.  Would that be hard to do?

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.

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 guess you could do "aba parent-update" as:

tla star-merge `tla meta-info parent`

So that would do the parent commit, update. Then the mirror would have to be involved too, so perhaps "tla archive-info cache" could also be set, and tla would internally look in that local copy when it needed a copy of a remote file. So the full parent commit would be:

tla commit   #(commit to local archive)
tla update -A `tla archive-info cache` archive-mirror #update local mirror tla star-merge -A `tla archive-info parent` `tla tree-root` # merge local into remote tla update -A `tla archive-info cache` archive-mirror #update local mirror AGAIN

Assuming I have all that right...


Pierce





reply via email to

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