<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/git-repack.sh, branch v1.7.7.4</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.7.7.4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.7.7.4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2010-11-17T23:01:23Z</updated>
<entry>
<title>Merge branch 'tr/maint-git-repack-tmpfile'</title>
<updated>2010-11-17T23:01:23Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-11-17T23:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=bee5e65c75d53efe00654a181542dbb5e3b5b53b'/>
<id>urn:sha1:bee5e65c75d53efe00654a181542dbb5e3b5b53b</id>
<content type='text'>
* tr/maint-git-repack-tmpfile:
  repack: place temporary packs under .git/objects/pack/
</content>
</entry>
<entry>
<title>repack: place temporary packs under .git/objects/pack/</title>
<updated>2010-10-19T16:23:24Z</updated>
<author>
<name>Thomas Rast</name>
<email>trast@student.ethz.ch</email>
</author>
<published>2010-10-19T09:50:43Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e32dfec79f99738df3c2ffca8a9b2257c9b681fb'/>
<id>urn:sha1:e32dfec79f99738df3c2ffca8a9b2257c9b681fb</id>
<content type='text'>
git-pack-objects is already careful to start out its temporary packs
under .git/objects/pack/ (cf. 8b4eb6b, Do not perform cross-directory
renames when creating packs, 2008-09-22), but git-repack did not
respond in kind so the effort was lost when the filesystem boundary is
exactly at that directory.

Let git-repack pass a path under .git/objects/pack/ as the base for
its temporary packs.

This means we might need the $PACKDIR sooner (before the pack-objects
invocation), so move the mkdir up just to be safe.

Also note that the only use of *.pack is in the find invocation way
before the pack-objects call, so the temporary packs will not suddenly
show up in any wildcards because of the directory change.

Reported-by: Marat Radchenko &lt;marat@slonopotamus.org&gt;
Signed-off-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>repack: add -F flag to let user choose between --no-reuse-delta/object</title>
<updated>2010-09-27T19:39:05Z</updated>
<author>
<name>Jan Krüger</name>
<email>jk@jk.gs</email>
</author>
<published>2010-09-27T12:19:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=5c47e1c7c56c60360646367e4067ed344a833b01'/>
<id>urn:sha1:5c47e1c7c56c60360646367e4067ed344a833b01</id>
<content type='text'>
In 479b56ba ('make "repack -f" imply "pack-objects --no-reuse-object"'),
git repack -f was changed to include recompressing all objects on the
zlib level on the assumption that if the user wants to spend that much
time already, some more time won't hurt (and recompressing is useful if
the user changed the zlib compression level).

However, "some more time" can be quite long with very big repositories,
so some users are going to appreciate being able to choose. If we are
going to give them the choice, --no-reuse-object will probably be
interesting a lot less frequently than --no-reuse-delta. Hence, this
reverts -f to the old behaviour (--no-reuse-delta) and adds a new -F
option that replaces the current -f.

Measurements taken using this patch on a current clone of git.git
indicate a 17% decrease in time being made available to users:

git repack -Adf  34.84s user 0.56s system 145% cpu 24.388 total
git repack -AdF  38.79s user 0.56s system 133% cpu 29.394 total

Signed-off-by: Jan Krüger &lt;jk@jk.gs&gt;
Acked-by: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/maint-graft-unhide-true-parents'</title>
<updated>2009-07-25T07:45:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-07-25T07:45:03Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=130b04ab37d74e574d525df7948b963b13c6bdbf'/>
<id>urn:sha1:130b04ab37d74e574d525df7948b963b13c6bdbf</id>
<content type='text'>
* js/maint-graft-unhide-true-parents:
  git repack: keep commits hidden by a graft
  Add a test showing that 'git repack' throws away grafted-away parents

Conflicts:
	git-repack.sh
</content>
</entry>
<entry>
<title>git repack: keep commits hidden by a graft</title>
<updated>2009-07-24T16:10:16Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2009-07-23T15:33:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=7f3140cd23f126e578ccaaea8c2cebe36824a7ac'/>
<id>urn:sha1:7f3140cd23f126e578ccaaea8c2cebe36824a7ac</id>
<content type='text'>
When you have grafts that pretend that a given commit has different
parents than the ones recorded in the commit object, it is dangerous
to let 'git repack' remove those hidden parents, as you can easily
remove the graft and end up with a broken repository.

So let's play it safe and keep those parent objects and everything
that is reachable by them, in addition to the grafted parents.

As this behavior can only be triggered by git pack-objects, and as that
command handles duplicate parents gracefully, we do not bother to cull
duplicated parents that may result by using both true and grafted
parents.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule, repack: migrate to git-sh-setup's say()</title>
<updated>2009-06-18T16:50:37Z</updated>
<author>
<name>Stephen Boyd</name>
<email>bebarino@gmail.com</email>
</author>
<published>2009-06-16T22:33:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=2e6a30ef8fbaedc5f2ee199d36f7256bb0cfdf1e'/>
<id>urn:sha1:2e6a30ef8fbaedc5f2ee199d36f7256bb0cfdf1e</id>
<content type='text'>
Now that there is say() in git-sh-setup, these scripts don't need to use
their own. Migrate them over by setting GIT_QUIET and removing their
custom say() functions.

Signed-off-by: Stephen Boyd &lt;bebarino@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2009-04-05T08:17:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-04-05T08:17:08Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=81aa96497686bd31c5a9a3cdf110c2e10c799c03'/>
<id>urn:sha1:81aa96497686bd31c5a9a3cdf110c2e10c799c03</id>
<content type='text'>
* maint:
  git submodule: fix usage line
  doc/git-pack-refs: fix two grammar issues
  commit: abort commit if interactive add failed
  git-repack: use non-dashed update-server-info
</content>
</entry>
<entry>
<title>git-repack: use non-dashed update-server-info</title>
<updated>2009-04-05T07:08:49Z</updated>
<author>
<name>Dan McGee</name>
<email>dpmcgee@gmail.com</email>
</author>
<published>2009-04-04T16:59:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e1dc49bcdefd362e129c9ee3a85527b518f9b49d'/>
<id>urn:sha1:e1dc49bcdefd362e129c9ee3a85527b518f9b49d</id>
<content type='text'>
Signed-off-by: Dan McGee &lt;dpmcgee@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-1.6.0-keep-pack'</title>
<updated>2009-04-02T05:34:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-04-02T05:34:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=3c91bf6805249d0f59ddff4e5dc4118127527243'/>
<id>urn:sha1:3c91bf6805249d0f59ddff4e5dc4118127527243</id>
<content type='text'>
* jc/maint-1.6.0-keep-pack:
  pack-objects: don't loosen objects available in alternate or kept packs
  t7700: demonstrate repack flaw which may loosen objects unnecessarily
  Remove --kept-pack-only option and associated infrastructure
  pack-objects: only repack or loosen objects residing in "local" packs
  git-repack.sh: don't use --kept-pack-only option to pack-objects
  t7700-repack: add two new tests demonstrating repacking flaws

Conflicts:
	t/t7700-repack.sh
</content>
</entry>
<entry>
<title>git-repack.sh: don't use --kept-pack-only option to pack-objects</title>
<updated>2009-03-20T20:32:33Z</updated>
<author>
<name>Brandon Casey</name>
<email>casey@nrlssc.navy.mil</email>
</author>
<published>2009-03-20T03:47:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=171110a4a67f04c28d2ac89385ab88ba051fc780'/>
<id>urn:sha1:171110a4a67f04c28d2ac89385ab88ba051fc780</id>
<content type='text'>
The --kept-pack-only option to pack-objects treats all kept packs as equal.
This results in objects that reside in an alternate pack that has a .keep
file, not being packed into a newly created pack when the user specifies the
-a option to repack.  Since the user may not have any control over the
alternate database, git should not refrain from repacking those objects
even though they are in a pack with a .keep file.

This fixes the 'packed obs in alternate ODB kept pack are repacked' test in
t7700.

Signed-off-by: Brandon Casey &lt;casey@nrlssc.navy.mil&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
