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

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

Re: [Gnu-arch-users] archive order?


From: Miles Bader
Subject: Re: [Gnu-arch-users] archive order?
Date: Sat, 23 Aug 2003 15:03:38 -0400
User-agent: Mutt/1.3.28i

On Sat, Aug 23, 2003 at 11:32:43PM +1000, Maksim Lin wrote:
> My question is: since most of the time you actually want the latest 
> revision and then sometime (less often) you want to grab some older 
> historical revision, why doesn't the archive actually keep an up to date 
> (ie latest revsion) copy of the src and then just apply the changesets 
> "backwards" to get older revisions?

Here are some advantages I see in arch's method:

 * An arch archive is (essentially) `immutable,' in that you only ever add
   files to it [here by `file' I mean a file used as part of the
   archive/repository implementation, not a source file in a tree], you never
   have to change any old files.  This is _extremely_ nice for robustness,
   and it keeps things very simple.

 * Arch's method makes commits much faster, and commits are far more common
   than whole-tree checkouts (which is the main big advantage you get from
   CVS's method).

 * In arch, branching is encouraged and made simple (whereas in CVS it's
   painful at best).  If you have branches, then there really _is_ no
   distinguished `HEAD' revision in which to `store the expanded sources.'

   Even if you were to let the user arbitrarily specify one, it would
   probably be more complicated and far less useful than you think -- if
   there are lots of branches, they'd either all need their own copy of the
   `expanded' tree, or else would have to revert to using basically the same
   method arch uses now.

Arch does offer some useful tools to keep the annoyance of applying many
changesets in check when you get many many revisions, for instance you can
cache whole-tree snapshots of particular revisions in the archive.

-Miles
-- 
Yo mama's so fat when she gets on an elevator it HAS to go down.




reply via email to

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