diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2018-02-11 16:43:28 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-02-12 14:07:59 -0800 |
commit | fbd7a23237094c3fb2e249bbcacbbf1e858e79c9 (patch) | |
tree | e6d0c78248f7bd326f68baafc894bff7cb75eb2a /t | |
parent | rebase: add --show-current-patch (diff) | |
download | tgif-fbd7a23237094c3fb2e249bbcacbbf1e858e79c9.tar.xz |
rebase: introduce and use pseudo-ref REBASE_HEAD
The new command `git rebase --show-current-patch` is useful for seeing
the commit related to the current rebase state. Some however may find
the "git show" command behind it too limiting. You may want to
increase context lines, do a diff that ignores whitespaces...
For these advanced use cases, the user can execute any command they
want with the new pseudo ref REBASE_HEAD.
This also helps show where the stopped commit is from, which is hard
to see from the previous patch which implements --show-current-patch.
Helped-by: Tim Landscheidt <tim@tim-landscheidt.de>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t3400-rebase.sh | 3 | ||||
-rwxr-xr-x | t/t3404-rebase-interactive.sh | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index 09943d6a9b..72d9564747 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -306,7 +306,8 @@ test_expect_success 'rebase--merge.sh and --show-current-patch' ' test_must_fail git rebase --merge --onto init HEAD^ && git rebase --show-current-patch >actual.patch && GIT_TRACE=1 git rebase --show-current-patch >/dev/null 2>stderr && - grep "show.*$(git rev-parse two)" stderr + grep "show.*REBASE_HEAD" stderr && + test "$(git rev-parse REBASE_HEAD)" = "$(git rev-parse two)" ) ' diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 3af6f149a9..23a54a4c49 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -227,7 +227,10 @@ test_expect_success 'stop on conflicting pick' ' test_expect_success 'show conflicted patch' ' GIT_TRACE=1 git rebase --show-current-patch >/dev/null 2>stderr && - grep "show.*$(cat "$state_dir/stopped-sha")" stderr + grep "show.*REBASE_HEAD" stderr && + # the original stopped-sha1 is abbreviated + stopped_sha1="$(git rev-parse $(cat ".git/rebase-merge/stopped-sha"))" && + test "$(git rev-parse REBASE_HEAD)" = "$stopped_sha1" ' test_expect_success 'abort' ' |