[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] archive-mirror not pushing cacherevs?
From: |
James Blackwell |
Subject: |
Re: [Gnu-arch-users] archive-mirror not pushing cacherevs? |
Date: |
Sun, 11 Jan 2004 19:50:36 -0500 |
User-agent: |
Mutt/1.5.5.1+cvs20040105i |
On Sun, Jan 11, 2004 at 07:29:36PM -0500, Miles Bader wrote:
> On Sun, Jan 11, 2004 at 07:09:42PM -0500, James Blackwell wrote:
> > A) With each revision, we annotate in the revision what the last cacherev
> > was. arch can check that cacherev against the most recent cacherev that
> > exists in the mirror. If it comes across a patch that says it has a
> > newer cacherev than is in the mirror, then perform the cacherev on the
> > mirror. However, we would have to set this up so that multiple new
> > cacherevs could be recorded in a patch.
>
> Is it possible _append_ (in the atomic unix sense) to files using the various
> remote protocols? How about just a file in the root of the archive listing
> cached revisions in the archive?
I'm the wrong person to ask. :)
> If file-append isn't possible, how about a directory in the root of the
> archive (`=cachedrevs') with an entry for each cached revision (the names
> could simply be the full revisions; the contents probably don't matter, but
> maybe they could be a checksum or something).
I like this, but is this race safe?
Imagine Bob and Alice are working on gnupg, in a shared archive.
Bob and Alice both commit at almost, but not exactly, the same time. If
Alice starts before Bob, but Bob finishes before Alice, then Alices
cacherev entry might end up missing.
> > B) When the user cacherevs a patch, he also performs an essentially
> > empty commit that has for its only purpose to note the existance
> > of a new cacherev.
>
> [Very annoying, and also doesn't solve the problem]
Maybe if I show the whole thought, in steps.
1. User runs push-mirror
2. User commits patch-125
2. User cacherevs base-0, causing a "cacherev" patch-126
4. User commits patch-127
5. User cacherevs patch-126, causing "cacherev" patch-128
6. User runs push-mirror again
6a. arch examines and uploads patch-125
6b arch examines and uploads patch-126 with the noted base-0 cacherev
6c arch examines and uploads patch-127
6d arch examines and uploads patch-128 with the noted patch-126 cacherev
The archive and the mirror should be in sync.
> I'm beginning to think that life is just one long Yoko Ono album; no rhyme
> or reason, just a lot of incoherent shrieks and then it's over. --Ian Wolff
LOL!
--
James Blackwell Using I.T. to bring more 570-407-0488
Owner, Inframix business to your business http://inframix.com
GnuPG (ID 06357400) AAE4 8C76 58DA 5902 761D 247A 8A55 DA73 0635 7400
Re: [Gnu-arch-users] archive-mirror not pushing cacherevs?, Robert Collins, 2004/01/11
Re: [Gnu-arch-users] archive-mirror not pushing cacherevs?, Johannes Berg, 2004/01/13