[lkml]   [2005]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Mercurial vs Updated git HOWTO for kernel hackers
    On Jun 28, 2005, at 17:54:14, Horst von Brand wrote:
    > Andrew Thompson <> wrote:
    >> 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.

    If we have versions A through A+N, Mercurial will create a new revlog
    file and
    store a new full version when the total size of the changes between A
    and A+N
    is greater than a certain amount, effectively ensuring that
    retrieving the
    latest version of a file is O(size-of-file) instead of O(size-of-
    This is the same speed as RCS for the tip, and significantly faster
    than RCS
    for non-tip, which is crucial for merges.

    Kyle Moffett

    There are two ways of constructing a software design. One way is to
    make it so simple that there are obviously no deficiencies. And the
    other way is to make it so complicated that there are no obvious
    -- C.A.R. Hoare

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-06-29 02:23    [W:0.020 / U:10.948 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site