login
Header Space

 
 

Re: Switching from CVS to GIT

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Eli Zaretskii <eliz@...>
Cc: Daniel Barkalow <barkalow@...>, <raa.lkml@...>, <Johannes.Schindelin@...>, <tsuna@...>, <git@...>, <make-w32@...>
Date: Tuesday, October 16, 2007 - 1:14 am

Eli Zaretskii wrote:

Because it might have been checked in as README, and since git is case
sensitive that is what it'll think should be there when it reads the
directories. If it's not, users get to see

	removed: README
	untracked: readme

and there's really no easy way out of this one, since users on a case-
sensitive filesystem might be involved in this project too, so it
could be an intentional rename, but we don't know for sure. Just
clobbering the in-git file is wrong, but overwriting a file on disk
is wrong too. git tries hard to not ever lose any data for the user.


To be honest though, there are so many places which do the readdir+stat
that I don't think it'd be worth factoring it out, especially since it
*works* on windows. It's just slow, and only slow compared to various
unices. I *think* (correct me if I'm wrong) that git is still faster
than a whole bunch of other scm's on windows, but to one who's used to
its performance on Linux that waiting several seconds to scan 10k files
just feels wrong.



The object database, located under .git/objects.


/* I'm on a limb here. Nicolas Pitre knows the git packfile format, so
 * perhaps he'll be kind enough to correct me if I'm wrong */

The mmap() stuff is primarily convenient when reading huge packfiles. As
far as I understand it, they're ordered by some sort of delta similarity
score, so mmap()'ing 100MiB or so of a certain packfile will most likely
mean we have a couple of thousand "connected" revisions in memory. That
database gets sort of restructured as the memory-chunk that's mmap()'ed
get moved to read in the next couple of thousand revisions.

In all honesty, this doesn't matter much for already fully packed projects
unless they're significantly larger than the Linux kernel, since git is so
amazingly good at compressing large repos to a small size. Linux is ~180
MiB fully packed, and most developer's systems could just read() that
entire packfile into memory without much problem. But then again, no-one's
ever had problems supporting the "normal" cases.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Switching from CVS to GIT, Benoit SIGOURE, (Sun Oct 14, 1:10 pm)
Re: Switching from CVS to GIT, Johannes Sixt, (Mon Oct 15, 2:39 am)
Re: Switching from CVS to GIT, Shawn O. Pearce, (Mon Oct 15, 7:12 pm)
Re: Switching from CVS to GIT, Johannes Sixt, (Tue Oct 16, 2:10 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 11:16 am)
Re: Switching from CVS to GIT, Shawn O. Pearce, (Tue Oct 16, 2:21 am)
Re: Switching from CVS to GIT, Johannes Sixt, (Tue Oct 16, 2:29 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Sun Oct 14, 2:27 pm)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 2:39 pm)
Re: Switching from CVS to GIT, Andreas Ericsson, (Sun Oct 14, 3:09 pm)
Re: Switching from CVS to GIT, Martin Langhoff, (Mon Oct 15, 1:43 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 4:14 pm)
Re: Switching from CVS to GIT, Alex Riesen, (Sun Oct 14, 6:14 pm)
Re: Switching from CVS to GIT, Peter Karlsson, (Tue Oct 16, 7:13 am)
RE: Switching from CVS to GIT, Dave Korn, (Sun Oct 14, 6:59 pm)
Re: Switching from CVS to GIT, David Brown, (Sun Oct 14, 8:03 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Mon Oct 15, 2:08 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Mon Oct 15, 6:16 am)
Re: Switching from CVS to GIT, Johannes Sixt, (Mon Oct 15, 6:38 am)
RE: Switching from CVS to GIT, Dave Korn, (Mon Oct 15, 7:16 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Mon Oct 15, 6:52 am)
RE: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 8:01 pm)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 1:36 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Sun Oct 14, 6:41 pm)
Re: Switching from CVS to GIT, Daniel Barkalow, (Mon Oct 15, 8:45 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 12:30 am)
Re: Switching from CVS to GIT, Johannes Sixt, (Tue Oct 16, 2:42 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 3:17 am)
Re: Switching from CVS to GIT, David Kastrup, (Tue Oct 16, 2:06 am)
Re: Switching from CVS to GIT, Daniel Barkalow, (Tue Oct 16, 1:56 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 3:03 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 8:39 am)
Re: Switching from CVS to GIT, Daniel Barkalow, (Tue Oct 16, 1:04 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 9:16 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 9:24 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 11:02 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 11:18 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 11:43 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Tue Oct 16, 1:14 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 3:14 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 8:33 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 9:16 am)
Re: Switching from CVS to GIT, Robin Rosenberg, (Wed Oct 17, 3:33 pm)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 9:21 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 9:50 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 10:14 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 11:12 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 10:36 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 2:25 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Tue Oct 16, 12:59 pm)
Re: Switching from CVS to GIT, David Brown, (Tue Oct 16, 11:56 am)
RE: Switching from CVS to GIT, Dave Korn, (Tue Oct 16, 12:23 pm)
Re: Switching from CVS to GIT, Christopher Faylor, (Tue Oct 16, 2:06 pm)
Re: Switching from CVS to GIT, Nicolas Pitre, (Tue Oct 16, 12:04 pm)
RE: Switching from CVS to GIT, Dave Korn, (Tue Oct 16, 11:47 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 8:29 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 8:53 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 9:15 am)
Re: Switching from CVS to GIT, Peter Karlsson, (Tue Oct 16, 8:38 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 9:04 am)
Re: Switching from CVS to GIT, Daniel Barkalow, (Tue Oct 16, 3:07 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Sun Oct 14, 7:55 pm)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 7:45 pm)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 1:53 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Mon Oct 15, 1:56 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Mon Oct 15, 4:44 am)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 1:49 pm)
RE: Switching from CVS to GIT, Dave Korn, (Mon Oct 15, 2:25 pm)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 3:34 pm)
RE: Switching from CVS to GIT, Johannes Schindelin, (Mon Oct 15, 2:34 pm)
Re: Switching from CVS to GIT, David Kastrup, (Mon Oct 15, 4:57 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Mon Oct 15, 12:06 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 2:20 pm)
Re: Switching from CVS to GIT, Martin Langhoff, (Mon Oct 15, 1:35 am)
Re: Switching from CVS to GIT, Marco Costalba, (Sun Oct 14, 2:06 pm)
speck-geostationary