<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin-pack-objects.c, branch v1.6.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.6.2</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.6.2'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2009-02-25T22:50:05Z</updated>
<entry>
<title>Merge branch 'jc/maint-1.6.0-pack-directory'</title>
<updated>2009-02-25T22:50:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-02-25T22:48:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=bb0cebd7d0ac9bf2ddf94fe5579603819c4a1fc7'/>
<id>urn:sha1:bb0cebd7d0ac9bf2ddf94fe5579603819c4a1fc7</id>
<content type='text'>
* jc/maint-1.6.0-pack-directory:
  Make sure objects/pack exists before creating a new pack
</content>
</entry>
<entry>
<title>Make sure objects/pack exists before creating a new pack</title>
<updated>2009-02-25T22:39:42Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-02-25T07:11:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6e180cdcecbb3e828aa892925d7ef67abf81ad80'/>
<id>urn:sha1:6e180cdcecbb3e828aa892925d7ef67abf81ad80</id>
<content type='text'>
In a repository created with git older than f49fb35 (git-init-db: create
"pack" subdirectory under objects, 2005-06-27), objects/pack/ directory is
not created upon initialization.  It was Ok because subdirectories are
created as needed inside directories init-db creates, and back then,
packfiles were recent invention.

After the said commit, new codepaths started relying on the presense of
objects/pack/ directory in the repository.  This was exacerbated with
8b4eb6b (Do not perform cross-directory renames when creating packs,
2008-09-22) that moved the location temporary pack files are created from
objects/ directory to objects/pack/ directory, because moving temporary to
the final location was done carefully with lazy leading directory creation.

Many packfile related operations in such an old repository can fail
mysteriously because of this.

This commit introduces two helper functions to make things work better.

 - odb_mkstemp() is a specialized version of mkstemp() to refactor the
   code and teach it to create leading directories as needed;

 - odb_pack_keep() refactors the code to create a ".keep" file while
   create leading directories as needed.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'lt/maint-wrap-zlib'</title>
<updated>2009-01-22T00:55:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-01-22T00:55:17Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=36dd9393938d4e7f8843c6c587c9b4db077377fc'/>
<id>urn:sha1:36dd9393938d4e7f8843c6c587c9b4db077377fc</id>
<content type='text'>
* lt/maint-wrap-zlib:
  Wrap inflate and other zlib routines for better error reporting

Conflicts:
	http-push.c
	http-walker.c
	sha1_file.c
</content>
</entry>
<entry>
<title>Wrap inflate and other zlib routines for better error reporting</title>
<updated>2009-01-11T10:13:06Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-01-08T03:54:47Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=39c68542fc8d8477f2080c99efedb9dce975abc6'/>
<id>urn:sha1:39c68542fc8d8477f2080c99efedb9dce975abc6</id>
<content type='text'>
R. Tyler Ballance reported a mysterious transient repository corruption;
after much digging, it turns out that we were not catching and reporting
memory allocation errors from some calls we make to zlib.

This one _just_ wraps things; it doesn't do the "retry on low memory
error" part, at least not yet. It is an independent issue from the
reporting.  Some of the errors are expected and passed back to the caller,
but we die when zlib reports it failed to allocate memory for now.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pack-objects: don't use too many threads with few objects</title>
<updated>2008-12-14T02:55:55Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2008-12-13T20:06:40Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=bf874896240cb00b22cd4f6cbcc143b17cc7fe0e'/>
<id>urn:sha1:bf874896240cb00b22cd4f6cbcc143b17cc7fe0e</id>
<content type='text'>
If there are few objects to deltify, they might be split amongst threads
so that there is simply no other objects left to delta against within
the same thread.  Let's use the same 2*window treshold as used for the
final load balancing to allow extra threads to be created.

This fixes the benign t5300 test failure.

Signed-off-by: Nicolas Pitre &lt;nico@cam.org&gt;
Tested-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>autodetect number of CPUs by default when using threads</title>
<updated>2008-12-13T03:47:36Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2008-12-11T20:36:47Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=43cc2b4266cc75f1a5a10e1a805d05e419000573'/>
<id>urn:sha1:43cc2b4266cc75f1a5a10e1a805d05e419000573</id>
<content type='text'>
... and display the actual number of threads used when locally
repacking.  A remote server still won't tell you how many threads it
uses during a fetch though.

Signed-off-by: Nicolas Pitre &lt;nico@cam.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2008-12-11T08:36:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-12-11T08:36:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=de0db422782ddaf7754ac5b03fdc6dc5de1a9ae4'/>
<id>urn:sha1:de0db422782ddaf7754ac5b03fdc6dc5de1a9ae4</id>
<content type='text'>
* maint:
  fsck: reduce stack footprint
  make sure packs to be replaced are closed beforehand
</content>
</entry>
<entry>
<title>make sure packs to be replaced are closed beforehand</title>
<updated>2008-12-11T01:56:05Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2008-12-09T19:26:52Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=c74faea19e39ca933492f697596310397175c329'/>
<id>urn:sha1:c74faea19e39ca933492f697596310397175c329</id>
<content type='text'>
Especially on Windows where an opened file cannot be replaced, make
sure pack-objects always close packs it is about to replace. Even on
non Windows systems, this could save potential bad results if ever
objects were to be read from the new pack file using offset from the old
index.

This should fix t5303 on Windows.

Signed-off-by: Nicolas Pitre &lt;nico@cam.org&gt;
Tested-by: Johannes Sixt &lt;j6t@kdbg.org&gt; (MinGW)
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bc/maint-keep-pack' into maint</title>
<updated>2008-12-03T07:00:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-12-03T07:00:04Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=0fd9d7e66deb7071da2a568b96c94f94ee890908'/>
<id>urn:sha1:0fd9d7e66deb7071da2a568b96c94f94ee890908</id>
<content type='text'>
* bc/maint-keep-pack:
  repack: only unpack-unreachable if we are deleting redundant packs
  t7700: test that 'repack -a' packs alternate packed objects
  pack-objects: extend --local to mean ignore non-local loose objects too
  sha1_file.c: split has_loose_object() into local and non-local counterparts
  t7700: demonstrate mishandling of loose objects in an alternate ODB
  builtin-gc.c: use new pack_keep bitfield to detect .keep file existence
  repack: do not fall back to incremental repacking with [-a|-A]
  repack: don't repack local objects in packs with .keep file
  pack-objects: new option --honor-pack-keep
  packed_git: convert pack_local flag into a bitfield and add pack_keep
  t7700: demonstrate mishandling of objects in packs with a .keep file
</content>
</entry>
<entry>
<title>Merge branch 'np/pack-safer'</title>
<updated>2008-11-13T06:26:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-11-13T06:26:35Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7b51b77dbc71e83789f59f0cd559489115478f27'/>
<id>urn:sha1:7b51b77dbc71e83789f59f0cd559489115478f27</id>
<content type='text'>
* np/pack-safer:
  t5303: fix printf format string for portability
  t5303: work around printf breakage in dash
  pack-objects: don't leak pack window reference when splitting packs
  extend test coverage for latest pack corruption resilience improvements
  pack-objects: allow "fixing" a corrupted pack without a full repack
  make find_pack_revindex() aware of the nasty world
  make check_object() resilient to pack corruptions
  make packed_object_info() resilient to pack corruptions
  make unpack_object_header() non fatal
  better validation on delta base object offsets
  close another possibility for propagating pack corruption
</content>
</entry>
</feed>
