<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/pack-objects.c, branch v2.0.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.0.0</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.0.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2013-10-24T22:44:48Z</updated>
<entry>
<title>pack-objects: refactor the packing list</title>
<updated>2013-10-24T22:44:48Z</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2013-10-24T18:01:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2834bc27c16e4ae103768dd6dda530f0e46116af'/>
<id>urn:sha1:2834bc27c16e4ae103768dd6dda530f0e46116af</id>
<content type='text'>
The hash table that stores the packing list for a given `pack-objects`
run was tightly coupled to the pack-objects code.

In this commit, we refactor the hash table and the underlying storage
array into a `packing_data` struct. The functionality for accessing and
adding entries to the packing list is hence accessible from other parts
of Git besides the `pack-objects` builtin.

This refactoring is a requirement for further patches in this series
that will require accessing the commit packing list from outside of
`pack-objects`.

The hash table implementation has been minimally altered: we now
use table sizes which are always a power of two, to ensure a uniform
index distribution in the array.

Signed-off-by: Vicent Marti &lt;tanoku@gmail.com&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Make git-pack-objects a builtin</title>
<updated>2006-08-04T06:15:11Z</updated>
<author>
<name>Matthias Kestenholz</name>
<email>matthias@spinlock.ch</email>
</author>
<published>2006-08-03T15:24:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d4a60033543e063bc9d77ca957de0187fb58fb3'/>
<id>urn:sha1:5d4a60033543e063bc9d77ca957de0187fb58fb3</id>
<content type='text'>
Signed-off-by: Matthias Kestenholz &lt;matthias@spinlock.ch&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>pack-objects: check pack.window for default window size</title>
<updated>2006-07-24T06:40:35Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2006-07-23T05:50:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4812a93a8c0ad25ee701da8ff46a3c5d62994224'/>
<id>urn:sha1:4812a93a8c0ad25ee701da8ff46a3c5d62994224</id>
<content type='text'>
For some repositories, deltas simply don't make sense. One can disable
them for git-repack by adding --window, but git-push insists on making
the deltas which can be very CPU-intensive for little benefit.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix more typos, primarily in the code</title>
<updated>2006-07-10T07:36:44Z</updated>
<author>
<name>Pavel Roskin</name>
<email>proski@gnu.org</email>
</author>
<published>2006-07-10T05:50:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=82e5a82fd73edb80a841f5fab1660e14b9b8f3ad'/>
<id>urn:sha1:82e5a82fd73edb80a841f5fab1660e14b9b8f3ad</id>
<content type='text'>
The only visible change is that git-blame doesn't understand
"--compability" anymore, but it does accept "--compatibility" instead,
which is already documented.

Signed-off-by: Pavel Roskin &lt;proski@gnu.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>don't load objects needlessly when repacking</title>
<updated>2006-07-01T03:14:47Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2006-07-01T02:55:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=560b25a86f30ad81d2bc3a383da19c3b7e631b8b'/>
<id>urn:sha1:560b25a86f30ad81d2bc3a383da19c3b7e631b8b</id>
<content type='text'>
If no delta is attempted on some objects then it is useless to load them
in memory, neither create any delta index for them.  The best thing to
do is therefore to load and index them only when really needed.

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>consider previous pack undeltified object state only when reusing delta data</title>
<updated>2006-06-30T06:48:29Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2006-06-30T03:44:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8dbbd14ea3ae1b4e825f1e7d314afddf26c67298'/>
<id>urn:sha1:8dbbd14ea3ae1b4e825f1e7d314afddf26c67298</id>
<content type='text'>
Without this there would never be a chance to improve packing for
previously undeltified objects.

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>Do not try futile object pairs when repacking.</title>
<updated>2006-06-29T22:24:29Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-06-29T21:04:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=51d1e83f91a16363930023a5c39f79f270c04653'/>
<id>urn:sha1:51d1e83f91a16363930023a5c39f79f270c04653</id>
<content type='text'>
In the repacking window, if both objects we are looking at already came
from the same (old) pack-file, don't bother delta'ing them against each
other.

That means that we'll still always check for better deltas for (and
against!) _unpacked_ objects, but assuming incremental repacks, you'll
avoid the delta creation 99% of the time.

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>Merge branch 'ff/c99' into next</title>
<updated>2006-06-21T10:51:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-06-21T10:51:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9d24ed4f019e035eeb8125c2c595876ad1211a3a'/>
<id>urn:sha1:9d24ed4f019e035eeb8125c2c595876ad1211a3a</id>
<content type='text'>
* ff/c99:
  Remove all void-pointer arithmetic.
</content>
</entry>
<entry>
<title>upload-pack: prepare for sideband message support.</title>
<updated>2006-06-21T09:34:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-06-21T05:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=363b7817e017b7c7e27a925d766c4d9bacfe4471'/>
<id>urn:sha1:363b7817e017b7c7e27a925d766c4d9bacfe4471</id>
<content type='text'>
This does not implement sideband for propagating the status to
the downloader yet, but add code to capture the standard error
output from the pack-objects process in preparation for sending
it off to the client when the protocol extension allows us to do
so.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Remove all void-pointer arithmetic.</title>
<updated>2006-06-20T08:59:46Z</updated>
<author>
<name>Florian Forster</name>
<email>octo@verplant.org</email>
</author>
<published>2006-06-18T15:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1d7f171c3a456b980d821ee0f68e01535a5f7e36'/>
<id>urn:sha1:1d7f171c3a456b980d821ee0f68e01535a5f7e36</id>
<content type='text'>
ANSI C99 doesn't allow void-pointer arithmetic. This patch fixes this in
various ways. Usually the strategy that required the least changes was used.

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