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

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

[Gnu-arch-users] Re: Making --setup default in tag and import


From: Tom Lord
Subject: [Gnu-arch-users] Re: Making --setup default in tag and import
Date: Mon, 7 Feb 2005 11:13:36 -0800 (PST)


   From: Mikhael Goikhman <address@hidden>

   I do not think there is a disagreement that "archives are forever".
   However it would be beneficial if some archive operation could be undone.
   I.e. "tag" and "import", and even the last "commit" may be undone in a
   certain period of time (one hour or one day). The mirror process should
   be trivially fixed to support this, i.e. revalidate the latest additions.

   This would allow to make "--setup" the default for "tag" and "import".

Here is a "no.  but then, "yes, kinda" answer to your question.

Your suggestion could work as you suggest, but it would cause problems
for other (regarded as important) usage scenarios.

Briefly, here is the problem:

Once I `import' or `tag' into an archive, anyone (even those without
write access to my archive) can mirror or `get' or otherwise make
their own local copy of my archive.

If the archive then changes, we have a consistency problem (and a
fairly deep one with potentially quite nasty consequences).

There can not be an officially supported "undo in the archive" operation.
That's an absolute constraint.  Sorry.

[The big sekret:  part of the virtue of our trivially simple archive format
is that you can do `undo' by hand, trivially.  It's just that, in so doing,
you are simultaneously "proving" that (a) you know you are cheating and accept
the consequences;  (b) you have at least a little bit of a clyue about the
archive format.]

There is an option that I more or less know how to do but don't
currently regard as even remotely close to a priority.

We could, quite robustly, expand the archive format and arch namespace
to permit lacunae, retractions, and restarts.  (A "lacuna" is a previously
published revision which the master copy of the archive subsequently refuses
to further make readable (mirrors might still have it, of course);  
a "retraction" is a still-readable revision which no longer counts
as the revision having its originally assigned name; a restart is an
alternative revision, replacing a retracted revision).

While clearly in the "would be nice" category, those features would
be costly to implement and would complicate (significantly) tools layered
on top of arch.

The question to ask is: how do those costs associated with official support
for hacking archives compare to the costs associated with continuing to 
muddle through just the occaisional cheats?

-t





reply via email to

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