git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Mercurial vs Updated git HOWTO for kernel hackers

From
Horst von Brand <vonbrand@inf.utfsm.cl>
Date
Jun 28, 2005, 21:54 UTC
Message-ID
<200506282154.j5SLsETL010486@laptop11.inf.utfsm.cl>
In-Reply-To
<andrewkt@aktzero.com>
Andrew Thompson <andrewkt@aktzero.com> wrote:
> Petr Baudis wrote:
> >>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.
> > "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
Next: Christopher Li
Message 1 of 3 in “Re: Mercurial vs Updated git HOWTO for kernel hackers”
  1. Horst von BrandJun 28, 2005
  2. Christopher LiJun 28, 2005
  3. Kyle MoffettJun 29, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.