diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-12-20 21:14:54 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-12-20 21:14:54 +0300 |
commit | 9eec6a1c5fc03e5f01f200bdb28f1dc6b8e9f03e (patch) | |
tree | b8551bbca8f950eeb9cf76de8b73cb9321bb072e /t | |
parent | 3c8f932d3537809b93b5dce31d14532ed84731ea (diff) | |
parent | 9385174627cbb7301b1007912514a66b75d78f31 (diff) |
Merge branch 'jk/end-of-options'
"git $cmd --end-of-options --rev -- --path" for some $cmd failed
to interpret "--rev" as a rev, and "--path" as a path. This was
fixed for many programs like "reset" and "checkout".
* jk/end-of-options:
parse-options: decouple "--end-of-options" and "--"
Diffstat (limited to 't')
-rwxr-xr-x | t/t7102-reset.sh | 8 | ||||
-rwxr-xr-x | t/t9350-fast-export.sh | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/t/t7102-reset.sh b/t/t7102-reset.sh index 4287863ae6..62d9f846ce 100755 --- a/t/t7102-reset.sh +++ b/t/t7102-reset.sh @@ -616,4 +616,12 @@ test_expect_success 'reset --mixed sets up work tree' ' test_must_be_empty actual ' +test_expect_success 'reset handles --end-of-options' ' + git update-ref refs/heads/--foo HEAD^ && + git log -1 --format=%s refs/heads/--foo >expect && + git reset --hard --end-of-options --foo && + git log -1 --format=%s HEAD >actual && + test_cmp expect actual +' + test_done diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh index 26c25c0eb2..e9a12c18bb 100755 --- a/t/t9350-fast-export.sh +++ b/t/t9350-fast-export.sh @@ -791,4 +791,14 @@ test_expect_success 'fast-export --first-parent outputs all revisions output by ) ' +test_expect_success 'fast-export handles --end-of-options' ' + git update-ref refs/heads/nodash HEAD && + git update-ref refs/heads/--dashes HEAD && + git fast-export --end-of-options nodash >expect && + git fast-export --end-of-options --dashes >actual.raw && + # fix up lines which mention the ref for comparison + sed s/--dashes/nodash/ <actual.raw >actual && + test_cmp expect actual +' + test_done |