diff options
author | Thomas Rast <trast@student.ethz.ch> | 2010-03-12 18:04:29 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-03-12 21:55:39 -0800 |
commit | 96e19488f1e8f3964f5f329248852864b4ee4541 (patch) | |
tree | 9f5b3f875f308d7e30bf2c3ac56a12519b8ed125 /git-rebase.sh | |
parent | commit --amend: invoke post-rewrite hook (diff) | |
download | tgif-96e19488f1e8f3964f5f329248852864b4ee4541.tar.xz |
rebase: invoke post-rewrite hook
We have to deal with two separate code paths: a normal rebase, which
actually goes through git-am; and rebase {-m|-s}.
The only small issue with both is that they need to remember the
original sha1 across a possible conflict resolution. rebase -m
already puts this information in $dotest/current, and we just
introduce a similar file for git-am.
Note that in git-am, the hook really only runs when coming from
git-rebase: the code path that sets the $dotest/original-commit file
is guarded by a test for $dotest/rebasing.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-x | git-rebase.sh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index eddc02875f..417a1a95cd 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -79,6 +79,7 @@ continue_merge () { then printf "Committed: %0${prec}d " $msgnum fi + echo "$cmt $(git rev-parse HEAD^0)" >> "$dotest/rewritten" else if test -z "$GIT_QUIET" then @@ -153,6 +154,10 @@ move_to_original_branch () { finish_rb_merge () { move_to_original_branch + if test -x "$GIT_DIR"/hooks/post-rewrite && + test -s "$dotest"/rewritten; then + "$GIT_DIR"/hooks/post-rewrite rebase < "$dotest"/rewritten + fi rm -r "$dotest" say All done. } |