Thread (3 messages) flat view 3 messages, 3 authors, 2005-06-29

Re: Mercurial vs Updated git HOWTO for kernel hackers

From: Horst von Brand <hidden>
Date: 2005-06-28 22:00:58
Also in: lkml

Andrew Thompson [off-list ref] wrote:
Petr Baudis wrote:
quoted
quoted
Mercurial's undo is taking a snapshot of all the changed file's repo
file length at every commit or pull.  It just truncate the file to
original size and undo is done.
quoted
"Trunactes"? That sounds very wrong... you mean replace with old
version? Anyway, what if the file has same length? It just doesn't make
much sense to me.
I believe this works because the files stored in a binary format that
appends new changesets onto the end. Thus, truncating the new stuff
from the end effectively removes the commit.
And is exactly the wrong way around. Even RCS stored the _last_ version and
differences to earlier ones (you'll normally want the last one (or
something near), and so occasionally having to reconstruct earlier ones by
going back isn't a big deal; having to build up the current version by
starting from /dev/null and applying each and every patch that ever touched
the file each time is expensive given enough history, besides that any
error in the file is guaranteed to destroy the current version, not
(hopefully) just making old versions unavailable).  It also means that
losing old history (what you'll want to do once in a while, e.g. forget
everything before 2.8) is simple: Chop off at the right point.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help