<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin-pack-objects.c, branch v1.5.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.5.2</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.5.2'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2007-05-09T05:47:17Z</updated>
<entry>
<title>Increase pack.depth default to 50</title>
<updated>2007-05-09T05:47:17Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2007-05-08T13:28:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=618e613a706638a7a1fb5c87cd418158c9b2687c'/>
<id>urn:sha1:618e613a706638a7a1fb5c87cd418158c9b2687c</id>
<content type='text'>
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Add pack.depth option to git-pack-objects.</title>
<updated>2007-05-09T05:47:17Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2007-05-08T13:28:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=842aaf93238377976111fc801aaacbf8a491db33'/>
<id>urn:sha1:842aaf93238377976111fc801aaacbf8a491db33</id>
<content type='text'>
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Use GIT_OBJECT_DIR for temporary files of pack-objects</title>
<updated>2007-05-07T22:45:24Z</updated>
<author>
<name>Alex Riesen</name>
<email>raa.lkml@gmail.com</email>
</author>
<published>2007-05-07T17:33:24Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3082acfa7c626a34aa419a163585051c2df2bf09'/>
<id>urn:sha1:3082acfa7c626a34aa419a163585051c2df2bf09</id>
<content type='text'>
Signed-off-by: Alex Riesen &lt;raa.lkml@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>make progress "title" part of the common progress interface</title>
<updated>2007-04-23T05:18:05Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2007-04-20T18:10:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=13aaf148258808437c485d3ef54c7ae7668384d7'/>
<id>urn:sha1:13aaf148258808437c485d3ef54c7ae7668384d7</id>
<content type='text'>
If the progress bar ends up in a box, better provide a title for it too.

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>common progress display support</title>
<updated>2007-04-23T05:18:05Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2007-04-18T18:27:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=96a02f8f6d2192d3686cd1c719044082c89e8391'/>
<id>urn:sha1:96a02f8f6d2192d3686cd1c719044082c89e8391</id>
<content type='text'>
Instead of having this code duplicated in multiple places, let's have
a common interface for progress display.  If someday someone wishes to
display a cheezy progress bar instead then only one file will have to
be changed.

Note: I left merge-recursive.c out since it has a strange notion of
progress as it apparently increase the expected total number as it goes.
Someone with more intimate knowledge of what that is supposed to mean
might look at converting it to the common progress interface.

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: make generated packfile read-only</title>
<updated>2007-04-23T02:00:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-23T02:00:16Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=d83c9af5c6a437ddaa9dd2747e83aee642501a44'/>
<id>urn:sha1:d83c9af5c6a437ddaa9dd2747e83aee642501a44</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix 'quickfix' on pack-objects.</title>
<updated>2007-04-22T19:28:34Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-22T19:28:34Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=b6b32ccb927de0c631b1aaf27b1664bd4eb300c7'/>
<id>urn:sha1:b6b32ccb927de0c631b1aaf27b1664bd4eb300c7</id>
<content type='text'>
The earlier quickfix forced world-readable permission bits.  This
updates it to honor umask and core.sharedrepository settings.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>pack-objects: quickfix for permission modes.</title>
<updated>2007-04-22T18:49:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-22T18:49:35Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=aef5aedd8536fddbbd2e19245dfab201d05afb25'/>
<id>urn:sha1:aef5aedd8536fddbbd2e19245dfab201d05afb25</id>
<content type='text'>
mkstemp() often creates the file in 0600 which means the
resulting packfile is not readable by anybody other than the
repository owner.  Force 0644 for now, even though this is not
strictly correct.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>pack-objects: remove obsolete comments</title>
<updated>2007-04-20T03:37:41Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2007-04-20T02:28:02Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=e4d58311ba1a6cefa2ac5a3d95918af0d9b43588'/>
<id>urn:sha1:e4d58311ba1a6cefa2ac5a3d95918af0d9b43588</id>
<content type='text'>
The sorted-by-sha ans sorted-by-type arrays are no more.

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: better check_object() performances</title>
<updated>2007-04-17T00:43:31Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2007-04-16T16:32:13Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=5c49c11686df9d1c27a194349d0b2092e6446f42'/>
<id>urn:sha1:5c49c11686df9d1c27a194349d0b2092e6446f42</id>
<content type='text'>
With large amount of objects, check_object() is really trashing the pack
sliding map and the filesystem cache.  It has a completely random access
pattern especially with old objects where delta replay jumps back and
forth all over the pack.

This patch improves things by:

 1) sorting objects by their offset in pack before calling check_object()
    so the pack access pattern is linear;

 2) recording the object type at add_object_entry() time since it is
    already known in most cases;

 3) recording the pack offset even for preferred_base objects;

 4) avoid calling sha1_object_info() if all possible.

This limits pack accesses to the bare minimum and makes them perfectly
linear.

In the process check_object() was made more clear (to me at least).

Note: I thought about walking the sorted_by_offset list backward in
get_object_details() so if a pack happens to be larger than the available
file cache, then the cache would have been populated with useful data from
the beginning of the pack already when find_deltas() is called.  Strangely,
testing (on Linux) showed absolutely no performance difference.

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