git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matt Mackall <mpm@selenic.com>
To: Sean <seanlkml@sympatico.ca>
Cc: mercurial@selenic.com, Petr Baudis <pasky@ucw.cz>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Kyle Moffett <mrmacman_g4@mac.com>,
	Jeff Garzik <jgarzik@pobox.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: Mercurial vs Updated git HOWTO for kernel hackers
Date: Tue, 28 Jun 2005 15:14:22 -0700	[thread overview]
Message-ID: <20050628221422.GT12006@waste.org> (raw)
In-Reply-To: <3886.10.10.10.24.1119991512.squirrel@linux1>

On Tue, Jun 28, 2005 at 04:45:12PM -0400, Sean wrote:
> On Tue, June 28, 2005 4:27 pm, Kyle Moffett said:
> > On Jun 28, 2005, at 14:01:57, Matt Mackall wrote:
> >> Everything in Mercurial is an append-only log. A transaction journal
> >> records the original length of each log so that it can be restored on
> >> failure.
> >
> > Does this mean that (excepting the "undo" feature) one could set the
> > ext3 "append-only" attribute on the repository files to avoid losing
> > data due to user account compromise?
> >
> 
> Probably.  In Git, which is a bit more flexible than Mecurial you can
> chmod your objects to read-only or use the ext3 immutable setting to
> protect your existing objects.

You can do this in Mercurial as well.

> You can even have a setup where objects
> are archived onto write-once media like DVD and still participate in a
> live repository, where new objects are written to hard disk, but older
> object are (automatically) sourced from the DVD.

Have fun with that. It's an excellent way to destroy your DVD drive.

Git's completely structureless filename hashing pretty much guarantees
that disk layout will degrade to worst-case random access behavior
over time. Just walking through the 2000 commit blobs in the current
tree can take minutes cold cache on a fast hard disk. Walking the 1700
tree blobs in a given version takes quite a while too.

Put that on a DVD and that could easily turn into hours of continuous
seeking for a simple operation like checking out tip of tree.

And as far as I know, ISO9660 and UDF don't really handle huge
directories well. So if you try and put the whole kernel history (200k
files, some huge number of directory blobs, and 30k-60k commit blobs)
on a DVD, you'll be really hurting.

Meanwhile the whole history (>30k changesets) with Mercurial fits on a
regular CD, with reasonable directory sizes and I/O patterns.

Not that it's really worth the trouble. It takes longer for me to burn
an ISO image to disc than to download a complete kernel repo from
kernel.org.

-- 
Mathematics is the supreme nostalgia of our time.

  reply	other threads:[~2005-06-28 22:07 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-22 22:24 Updated git HOWTO for kernel hackers Jeff Garzik
2005-06-22 22:40 ` Dave Jones
2005-06-22 22:47   ` Jeff Garzik
2005-06-22 22:52     ` Dave Jones
2005-06-23  0:14       ` Jeff Garzik
2005-06-25  3:33   ` Jeff Garzik
2005-06-25 17:29     ` Dave Jones
2005-06-22 23:09 ` Greg KH
2005-06-22 23:25   ` Linus Torvalds
2005-06-23  0:05     ` Jeff Garzik
2005-06-23  0:29       ` Linus Torvalds
2005-06-23  1:47         ` Jeff Garzik
2005-06-23  1:56           ` Linus Torvalds
2005-06-23  2:16             ` Jeff Garzik
2005-06-23  2:39               ` Linus Torvalds
2005-06-23  3:06                 ` Jeff Garzik
2005-06-23  3:24                   ` Linus Torvalds
2005-06-23  5:16                     ` Jeff Garzik
2005-06-23  5:58                       ` Linus Torvalds
2005-06-23  6:20                         ` Greg KH
2005-06-23  6:51                           ` Linus Torvalds
2005-06-23  7:11                             ` Greg KH
2005-06-23  7:03                         ` Jeff Garzik
2005-06-23  7:38                         ` Petr Baudis
2005-06-23  8:18                           ` Martin Langhoff
2005-06-23  8:30                         ` Vojtech Pavlik
2005-06-23 14:31                       ` Horst von Brand
2005-06-22 23:16 ` Linus Torvalds
2005-06-23  0:15   ` Jeff Garzik
2005-06-23  1:53     ` Linus Torvalds
2005-06-23  7:06       ` Jeff Garzik
2005-06-23 15:29         ` Linus Torvalds
2005-06-23  0:33   ` Linus Torvalds
2005-06-23  2:04   ` Jeff Garzik
2005-06-23  2:28     ` Linus Torvalds
2005-06-23  3:52       ` Adam Kropelin
2005-06-23  4:54         ` Linus Torvalds
2005-06-23  5:35           ` Jeff Garzik
2005-06-23  6:37             ` Linus Torvalds
2005-06-23  6:07           ` Miles Bader
2005-06-23  7:15       ` Jeff Garzik
2005-06-23 16:06         ` Linus Torvalds
2005-06-23  8:01   ` Anton Altaparmakov
2005-06-23  4:23 ` Daniel Barkalow
2005-06-23 12:25 ` Dave Airlie
2005-06-23 23:56 ` Mercurial vs " Matt Mackall
2005-06-24  6:41   ` Petr Baudis
2005-06-24 12:38     ` Christopher Li
2005-06-28 15:00       ` Petr Baudis
2005-06-28 15:10         ` Andrew Thompson
2005-06-28 15:35           ` Petr Baudis
2005-06-28 21:54           ` Horst von Brand
2005-06-28 18:47             ` Christopher Li
2005-06-29  0:12             ` Kyle Moffett
2005-06-28 18:01         ` Matt Mackall
2005-06-28 20:27           ` Kyle Moffett
2005-06-28 20:45             ` Sean
2005-06-28 22:14               ` Matt Mackall [this message]
2005-06-28 22:23                 ` Sean
2005-06-28 22:47                   ` Kyle Moffett
2005-06-28 22:49                   ` Matt Mackall
2005-06-28 22:59                     ` Sean
2005-06-28 23:25                       ` Kyle Moffett
2005-06-28 23:37                         ` Sean
2005-06-29  0:08                           ` Kyle Moffett
2005-06-29  0:25                             ` Sean
2005-06-29  3:53                               ` Kyle Moffett
2005-06-29 10:27                                 ` Vojtech Pavlik
2005-06-28 23:29                       ` Matt Mackall
2005-06-29  6:32             ` Thomas Arendsen Hein
2005-06-24 13:06     ` Andrea Arcangeli
2005-06-24 13:39       ` Theodore Ts'o
2005-06-24 13:46         ` Paolo Ciarrocchi
2005-06-24 12:19           ` Christopher Li
2005-06-24 13:57       ` Kevin Smith
2005-06-24 18:03         ` Matt Mackall
2005-06-28 15:07         ` Petr Baudis
2005-06-28 15:15           ` Sven Verdoolaege
2005-06-28 15:34             ` Petr Baudis
2005-06-28 16:50           ` Cygwin and Native MS Windows (was: Mercurial vs Updated git HOWTO for kernel hackers) Kevin Smith
2005-06-28 16:51           ` Cogito vs. Git " Kevin Smith
2005-06-28 20:54             ` Petr Baudis
2005-06-24 13:16     ` Mercurial vs Updated git HOWTO for kernel hackers Matthias Urlichs
2005-06-24 19:00       ` Linus Torvalds
2005-06-24 19:25         ` John W. Linville
2005-06-24 22:38         ` Jeff Garzik
2005-06-24 21:11       ` Daniel Barkalow
2005-06-24 22:08       ` Should "git-read-tree -m -u" delete files? Junio C Hamano
2005-06-24 22:45     ` Mercurial vs Updated git HOWTO for kernel hackers Joel Becker
2005-06-24 23:08   ` Kyle Moffett
2005-06-27 18:31   ` Pavel Machek
2005-06-27 19:05     ` Kyle Moffett
2005-06-27 19:40     ` Matt Mackall
2005-06-27 19:51       ` Benjamin LaHaise
2005-06-27 20:51         ` Matt Mackall
2005-06-27 21:53         ` Ed Tomlinson
2005-07-08 15:18 ` Amin Azez
2005-07-11  8:56   ` Amin Azez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050628221422.GT12006@waste.org \
    --to=mpm@selenic.com \
    --cc=git@vger.kernel.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mercurial@selenic.com \
    --cc=mrmacman_g4@mac.com \
    --cc=pasky@ucw.cz \
    --cc=seanlkml@sympatico.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).