git repack: keep commits hidden by a graftgrafts
commit34dfd22bb99c7c466b6131876e8b52ac46f388aa
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 23 Jul 2009 14:33:11 +0000 (23 16:33 +0200)
committerJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 23 Jul 2009 15:26:02 +0000 (23 17:26 +0200)
treee3b5d4fe6d7aefc5baf897775455aac20bee902d
parent3539667028e7ad4c23f5c131bd09e9cd4c7f7626
git repack: keep commits hidden by a graft

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.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Documentation/git-pack-objects.txt
builtin-pack-objects.c
cache.h
commit.c
environment.c
git-repack.sh
t/t7700-repack.sh