diff options
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-x | git-rebase.sh | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index 21bb0276e1..5a399aa4cf 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -70,15 +70,25 @@ test "$(git config --bool rebase.autosquash)" = "true" && autosquash=t read_basic_state () { head_name=$(cat "$state_dir"/head-name) && onto=$(cat "$state_dir"/onto) && - if test "$type" = interactive + # We always write to orig-head, but interactive rebase used to write to + # head. Fall back to reading from head to cover for the case that the + # user upgraded git with an ongoing interactive rebase. + if test -f "$state_dir"/orig-head then - orig_head=$(cat "$state_dir"/head) - else orig_head=$(cat "$state_dir"/orig-head) + else + orig_head=$(cat "$state_dir"/head) fi && GIT_QUIET=$(cat "$state_dir"/quiet) } +write_basic_state () { + echo "$head_name" > "$state_dir"/head-name && + echo "$onto" > "$state_dir"/onto && + echo "$orig_head" > "$state_dir"/orig-head && + echo "$GIT_QUIET" > "$state_dir"/quiet +} + output () { case "$verbose" in '') |