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

[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




reply via email to

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