rebase: ignore failures from "gc --auto"
commit8c24f5b022095f4735fcb73364ccae7d97576636
authorJeff King <peff@peff.net>
Wed, 13 Jan 2016 18:47:18 +0000 (13 13:47 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Jan 2016 20:04:53 +0000 (13 12:04 -0800)
tree09cd5d291ff1284d5dc9198b2e03a0b42b662118
parent24358560c3c0ab51c9ef8178d99f46711716f6c0
rebase: ignore failures from "gc --auto"

After rebasing, we call "gc --auto" to clean up if we
created a lot of loose objects. However, we do so inside an
&&-chain. If "gc --auto" fails (e.g., because a previous
background gc blocked us by leaving "gc.log" in place),
then:

  1. We will fail to clean up the state directory, leaving
     the user stuck in the rebase forever (even "git am
     --abort" doesn't work, because it calls "gc --auto"!).

  2. In some cases, we may return a bogus exit code from
     rebase, indicating failure when everything except the
     auto-gc succeeded.

We can fix this by ignoring the exit code of "gc --auto".

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase.sh