diff options
author | Ramkumar Ramachandra <artagnon@gmail.com> | 2013-05-12 17:26:37 +0530 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-12 23:20:07 -0700 |
commit | f5f758a5df470352ed46863288551f25fe9c7ea7 (patch) | |
tree | 0d84aecea496c0b5cbdab292e7ac260d6d1600a3 | |
parent | 1224f3d0f1b47fc640e76b053f25d91e3ca84bcf (diff) | |
download | git-f5f758a5df470352ed46863288551f25fe9c7ea7.tar.gz |
rebase: prepare to do generic housekeeping
On successful completion of a rebase in git-rebase--$backend.sh, the
$backend script cleans up on its own and exits. The cleanup routine
is however, independent of the $backend, and each $backend script
unnecessarily duplicates this work:
rm -rf "$state_dir"
git gc --auto
Prepare git-rebase.sh for later patches that return control from each
$backend script back to us, for performing this generic cleanup
routine. The code that this patch adds is currently unreachable, and
will only start to be used when git-rebase--$backend.sh scripts are
taught to return control in later patches.
Another advantage is that git-rebase.sh can implement a generic
finish_rebase() to possibly do additional tasks in addition to the
cleanup.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-rebase.sh | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index 2c692c33e9..f8b533d183 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -150,6 +150,13 @@ run_specific_rebase () { autosquash= fi . git-rebase--$type + ret=$? + if test $ret -eq 0 + then + git gc --auto && + rm -rf "$state_dir" + fi + exit $ret } run_pre_rebase_hook () { |