<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/cache.h, branch v1.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2006-02-11T06:28:30Z</updated>
<entry>
<title>Make "git clone" less of a deathly quiet experience</title>
<updated>2006-02-11T06:28:30Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-02-11T04:31:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ee2ad654bc7d19ec4f08e11dc4fed8b97a59222'/>
<id>urn:sha1:5ee2ad654bc7d19ec4f08e11dc4fed8b97a59222</id>
<content type='text'>
It used to be that "git-unpack-objects" would give nice percentages, but
now that we don't unpack the initial clone pack any more, it doesn't. And
I'd love to do that nice percentage view in the pack objects downloader
too, but the thing doesn't even read the pack header, much less know how
much it's going to get, so I was lazy and didn't.

Instead, it at least prints out how much data it's gotten, and what the
packing speed is. Which makes the user realize that it's actually doing
something useful instead of sitting there silently (and if the recipient
knows how large the final result is, he can at least make a guess about
when it migt be done).

So with this patch, I get something like this on my DSL line:

	[torvalds@g5 ~]$ time git clone master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 clone-test
	Packing 188543 objects
	  48.398MB  (154 kB/s)

where even the speed approximation seems to be roughtly correct (even
though my algorithm is a truly stupid one, and only really gives "speed in
the last half second or so").

Anyway, _something_ like this is definitely needed. It could certainly be
better (if it showed the same kind of thing that git-unpack-objects did,
that would be much nicer, but would require parsing the object stream as
it comes in). But this is  big step forward, I think.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>abbrev cleanup: use symbolic constants</title>
<updated>2006-01-28T08:09:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-25T09:03:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=46a6c2620ba421397eec627b8eb18eb530e694fc'/>
<id>urn:sha1:46a6c2620ba421397eec627b8eb18eb530e694fc</id>
<content type='text'>
The minimum length of abbreviated object name was hardcoded in
different places to be 4, risking inconsistencies in the future.
Also there were three different "default abbreviation
precision".  Use two C preprocessor symbols to clean up this
mess.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Only use a single parser for tree objects</title>
<updated>2006-01-26T09:08:29Z</updated>
<author>
<name>Daniel Barkalow</name>
<email>barkalow@iabervon.org</email>
</author>
<published>2006-01-26T06:13:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=521698b1538fb3c9bd818ee98f2c17d2c80c9605'/>
<id>urn:sha1:521698b1538fb3c9bd818ee98f2c17d2c80c9605</id>
<content type='text'>
This makes read_tree_recursive and read_tree take a struct tree
instead of a buffer. It also move the declaration of read_tree into
tree.h (where struct tree is defined), and updates ls-tree and
diff-index (the only places that presently use read_tree*()) to use
the new versions.

Signed-off-by: Daniel Barkalow &lt;barkalow@iabervon.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Undef DT_* before redefining them.</title>
<updated>2006-01-22T03:33:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-20T21:33:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0bdd79af62e8621359af08f0afca0ce977348ac7'/>
<id>urn:sha1:0bdd79af62e8621359af08f0afca0ce977348ac7</id>
<content type='text'>
When overriding DT_* macro detection with NO_D_TYPE_IN_DIRENT (recent
Cygwin build problem, which hopefully is already fixed in their CVS
snapshot version), we define DTYPE() macro to return just "we do not
know", but still needed to use DT_* macro to avoid ifdef in the code
we use them.  If the platform defines DT_* macro but with unusable
d_type, this would have resulted in us redefining these preprocessor
symbols.

Admittedly, that would be just a couple of compilation warnings, and
on Cygwin at least this particular problem is transitory (the problem
is already fixed in their CVS snapshot version), so this is a low
priority fix.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN</title>
<updated>2006-01-22T03:33:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-20T01:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=63be37b06fa873348c3de0becea201796bc88610'/>
<id>urn:sha1:63be37b06fa873348c3de0becea201796bc88610</id>
<content type='text'>
The recent Cygwin defines DT_UNKNOWN although it does not have d_type
in struct dirent.  Give an option to tell us not to use d_type on such
platforms.  Hopefully this problem will be transient.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>GIT 1.1.0</title>
<updated>2006-01-08T22:22:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-08T22:22:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5a2282de13c4da13f979185e652c8a08e2481fd1'/>
<id>urn:sha1:5a2282de13c4da13f979185e652c8a08e2481fd1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[PATCH] Compilation: zero-length array declaration.</title>
<updated>2006-01-07T18:51:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-07T09:33:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8f1d2e6f49ee51ac062ab38337a6a70dd1998def'/>
<id>urn:sha1:8f1d2e6f49ee51ac062ab38337a6a70dd1998def</id>
<content type='text'>
ISO C99 (and GCC 3.x or later) lets you write a flexible array
at the end of a structure, like this:

	struct frotz {
		int xyzzy;
		char nitfol[]; /* more */
	};

GCC 2.95 and 2.96 let you to do this with "char nitfol[0]";
unfortunately this is not allowed by ISO C90.

This declares such construct like this:

	struct frotz {
		int xyzzy;
		char nitfol[FLEX_ARRAY]; /* more */
	};

and git-compat-util.h defines FLEX_ARRAY to 0 for gcc 2.95 and
empty for others.

If you are using a C90 C compiler, you should be able
to override this with CFLAGS=-DFLEX_ARRAY=1 from the
command line of "make".

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Introduce core.sharedrepository</title>
<updated>2005-12-24T08:21:10Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2005-12-22T22:13:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=457f06d68e427bbf4f1a921877441a622a05e5c4'/>
<id>urn:sha1:457f06d68e427bbf4f1a921877441a622a05e5c4</id>
<content type='text'>
If the config variable 'core.sharedrepository' is set, the directories

	$GIT_DIR/objects/
	$GIT_DIR/objects/??
	$GIT_DIR/objects/pack
	$GIT_DIR/refs
	$GIT_DIR/refs/heads
	$GIT_DIR/refs/heads/tags

are set group writable (and g+s, since the git group may be not the primary
group of all users).

Since all files are written as lock files first, and then moved to
their destination, they do not have to be group writable.  Indeed, if
this leads to problems you found a bug.

Note that -- as in my first attempt -- the config variable is set in the
function which checks the repository format. If this were done in
git_default_config instead, a lot of programs would need to be modified
to call git_config(git_default_config) first.

[jc: git variables should be in environment.c unless there is a
 compelling reason to do otherwise.]

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>fetch-pack: -k option to keep downloaded pack.</title>
<updated>2005-12-18T07:11:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-15T06:17:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad8972150887a8ed3dd4869fc9318cc2e48dd69f'/>
<id>urn:sha1:ad8972150887a8ed3dd4869fc9318cc2e48dd69f</id>
<content type='text'>
Split out the functions that deal with the socketpair after
finishing git protocol handshake to receive the packed data into
a separate file, and use it in fetch-pack to keep/explode the
received pack data.  We earlier had something like that on
clone-pack side once, but the list discussion resulted in the
decision that it makes sense to always keep the pack for
clone-pack, so unpacking option is not enabled on the clone-pack
side, but we later still could do so easily if we wanted to with
this change.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Allow saving an object from a pipe</title>
<updated>2005-12-11T02:57:57Z</updated>
<author>
<name>Daniel Barkalow</name>
<email>barkalow@iabervon.org</email>
</author>
<published>2005-12-10T22:25:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=024510c8d947be6ae4765840e21a89d5a21271c4'/>
<id>urn:sha1:024510c8d947be6ae4765840e21a89d5a21271c4</id>
<content type='text'>
In order to support getting data into git with scripts, this adds a
--stdin option to git-hash-object, which will make it read from stdin.

Signed-off-by: Daniel Barkalow &lt;barkalow@iabervon.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
