<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/pack-objects.c, branch v1.3.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.3.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.3.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2006-04-21T07:45:10Z</updated>
<entry>
<title>fix pack-object buffer size</title>
<updated>2006-04-21T07:45:10Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2006-04-20T21:25:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0dec30b9788b12fdae5d5b69fc366a28bb688d80'/>
<id>urn:sha1:0dec30b9788b12fdae5d5b69fc366a28bb688d80</id>
<content type='text'>
The input line has 40 _chars_ of sha1 and no 20 _bytes_. It should also
account for the space before the pathname, and the terminating \n and \0.

Signed-off-by: Nicolas Pitre &lt;nico@cam.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>pack-objects: do not stop at object that is "too small"</title>
<updated>2006-04-21T06:36:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-04-21T06:36:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f527cb8c38964a90b1b13485f2ad46b72960d387'/>
<id>urn:sha1:f527cb8c38964a90b1b13485f2ad46b72960d387</id>
<content type='text'>
Because we sort the delta window by name-hash and then size,
hitting an object that is too small to consider as a delta base
for the current object does not mean we do not have better
candidate in the window beyond it.

Noticed by Shawn Pearce, analyzed by Nico, Linus and me.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Thin pack generation: optimization.</title>
<updated>2006-04-07T09:08:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-04-06T06:24:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5379a5c5ee45d1380240a47573c7571de92626bb'/>
<id>urn:sha1:5379a5c5ee45d1380240a47573c7571de92626bb</id>
<content type='text'>
Jens Axboe noticed that recent "git push" has become very slow
since we made --thin transfer the default.

Thin pack generation to push a handful revisions that touch
relatively small number of paths out of huge tree was stupid; it
registered _everything_ from the excluded revisions.  As a
result, "Counting objects" phase was unnecessarily expensive.

This changes the logic to register the blobs and trees from
excluded revisions only for paths we are actually going to send
to the other end.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pe/cleanup'</title>
<updated>2006-04-04T20:43:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-04-04T20:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=810e1523753553968aac827f57e0e24fc9af6546'/>
<id>urn:sha1:810e1523753553968aac827f57e0e24fc9af6546</id>
<content type='text'>
* pe/cleanup:
  Replace xmalloc+memset(0) with xcalloc.
  Use blob_, commit_, tag_, and tree_type throughout.
</content>
</entry>
<entry>
<title>Merge branch 'lt/fix-sol-pack'</title>
<updated>2006-04-04T20:42:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-04-04T20:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4c61b7d15a6215fa4dffa33c37c3ef9df80d3f67'/>
<id>urn:sha1:4c61b7d15a6215fa4dffa33c37c3ef9df80d3f67</id>
<content type='text'>
* lt/fix-sol-pack:
  Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.
  safe_fgets() - even more anal fgets()
  pack-objects: be incredibly anal about stdio semantics
  Fix Solaris stdio signal handling stupidities
</content>
</entry>
<entry>
<title>Use blob_, commit_, tag_, and tree_type throughout.</title>
<updated>2006-04-04T07:11:19Z</updated>
<author>
<name>Peter Eriksen</name>
<email>s022018@student.dtu.dk</email>
</author>
<published>2006-04-02T12:44:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8e4402592574d630cdb5ab4f55a1b7131802ff72'/>
<id>urn:sha1:8e4402592574d630cdb5ab4f55a1b7131802ff72</id>
<content type='text'>
This replaces occurences of "blob", "commit", "tag", and "tree",
where they're really used as type specifiers, which we already
have defined global constants for.

Signed-off-by: Peter Eriksen &lt;s022018@student.dtu.dk&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>safe_fgets() - even more anal fgets()</title>
<updated>2006-04-04T06:42:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-04-04T06:41:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=687dd75c95f9212244b6cf4fe60b40db44de01ba'/>
<id>urn:sha1:687dd75c95f9212244b6cf4fe60b40db44de01ba</id>
<content type='text'>
This is from Linus -- the previous round forgot to clear error
after EINTR case.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>pack-objects: be incredibly anal about stdio semantics</title>
<updated>2006-04-02T20:46:27Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-04-02T20:31:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=da93d12b00425a37e81e227671f13130efcfe93f'/>
<id>urn:sha1:da93d12b00425a37e81e227671f13130efcfe93f</id>
<content type='text'>
This is the "letter of the law" version of using fgets() properly in the
face of incredibly broken stdio implementations.  We can work around the
Solaris breakage with SA_RESTART, but in case anybody else is ever that
stupid, here's the "safe" (read: "insanely anal") way to use fgets.

It probably goes without saying that I'm not terribly impressed by
Solaris libc.

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>Fix Solaris stdio signal handling stupidities</title>
<updated>2006-04-02T20:41:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-04-02T20:28:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fb7a6531e67333b22967bf5b96ef22a28f3b2552'/>
<id>urn:sha1:fb7a6531e67333b22967bf5b96ef22a28f3b2552</id>
<content type='text'>
This uses sigaction() to install the SIGALRM handler with SA_RESTART, so
that Solaris stdio doesn't break completely when a signal interrupts a
read.

Thanks to Jason Riedy for confirming the silly Solaris signal behaviour.

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>tree/diff header cleanup.</title>
<updated>2006-03-30T07:54:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-03-30T06:55:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1b0c7174a17de801051402ed35ac085ebd91e88c'/>
<id>urn:sha1:1b0c7174a17de801051402ed35ac085ebd91e88c</id>
<content type='text'>
Introduce tree-walk.[ch] and move "struct tree_desc" and
associated functions from various places.

Rename DIFF_FILE_CANON_MODE(mode) macro to canon_mode(mode) and
move it to cache.h.  This macro returns the canonicalized
st_mode value in the host byte order for files, symlinks and
directories -- to be compared with a tree_desc entry.
create_ce_mode(mode) in cache.h is similar but is intended to be
used for index entries (so it does not work for directories) and
returns the value in the network byte order.

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