Re: [PATCH v5 0/9] Document/fix/warn about rebase incompatibilities and inconsistencies
- From
- Phillip Wood <phillip.wood@talktalk.net>
- Date
- Jun 29, 2018, 13:20 UTC
- Message-ID
- <0ec512fd-eaff-21c6-17c0-31c02cd1c7a3@talktalk.net>
- In-Reply-To
- <20180627072319.31356-1-newren@gmail.com>
Hi Elijah
On 27/06/18 08:23, Elijah Newren wrote:
Show 20 quoted lines
> git-rebase has lots of options that are mutually incompatible. Even among
> aspects of its behavior that is common to all rebase types, it has a number
> of inconsistencies. This series tries to document, fix, and/or warn users
> about many of these.
>
> Changes since v4 (short branch-diff at the end):
> - Fixed --strategy vs. --strategy-option (in patch 3, carries over to
> context region in later commit)
>
> v4 didn't get a lot of feedback (though it was picked up by Junio), so I'll
> repeat the areas that would be of most note for reviewers since v3:
>
> * I have left patch 9 in RFC state; since v3 it has an expanded the
> commit message with an in-depth usability rationale for the
> change.
> * It sounded like Junio was slightly unclear about the intent of the
> wording in Patch 1. Not sure if my answer (in email) was sufficient or
> if there are wording improvements others might suggest.
> * I'm assuming the --keep-empty and/or --empty={drop,halt,keep} (see
> comments on patch 5 of v3) can be resolved in a later series.I'm sorry I've not got round to looking at the last couple of versions. Unfortunately I'm about to go off-line for a couple of weeks so I just wanted to let you know I wasn't ignoring you!. If they haven't been merged when I get back on-line I'll have a look then
Best Wishes
Phillip
Show 52 quoted lines
> Elijah Newren (9): > git-rebase.txt: document incompatible options > git-rebase.sh: update help messages a bit > t3422: new testcases for checking when incompatible options passed > git-rebase: error out when incompatible options passed > git-rebase.txt: address confusion between --no-ff vs --force-rebase > directory-rename-detection.txt: technical docs on abilities and > limitations > git-rebase.txt: document behavioral differences between modes > t3401: add directory rename testcases for rebase and am > git-rebase: make --allow-empty-message the default > > Documentation/git-rebase.txt | 135 ++++++++++++++---- > .../technical/directory-rename-detection.txt | 115 +++++++++++++++ > git-rebase.sh | 43 +++++- > t/t3401-rebase-and-am-rename.sh | 105 ++++++++++++++ > t/t3404-rebase-interactive.sh | 7 +- > t/t3405-rebase-malformed.sh | 11 +- > t/t3422-rebase-incompatible-options.sh | 88 ++++++++++++ > 7 files changed, 462 insertions(+), 42 deletions(-) > create mode 100644 Documentation/technical/directory-rename-detection.txt > create mode 100755 t/t3401-rebase-and-am-rename.sh > create mode 100755 t/t3422-rebase-incompatible-options.sh > > 1: 3f454ebc5e = 1: 3f454ebc5e git-rebase.txt: document incompatible options > 2: 31a5a071a6 = 2: 31a5a071a6 git-rebase.sh: update help messages a bit > 3: 5a2b5eec79 ! 3: bc3a5a3f95 t3422: new testcases for checking when incompatible options passed > @@ -62,7 +62,7 @@ > + > + test_expect_failure "$opt incompatible with --strategy-option=ours" " > + git checkout B^0 && > -+ test_must_fail git rebase $opt --strategy=ours A > ++ test_must_fail git rebase $opt --strategy-option=ours A > + " > + > + test_expect_failure "$opt incompatible with --interactive" " > 4: 1e1c83724a ! 4: ca3b8327f7 git-rebase: error out when incompatible options passed > @@ -104,7 +104,7 @@ > - test_expect_failure "$opt incompatible with --strategy-option=ours" " > + test_expect_success "$opt incompatible with --strategy-option=ours" " > git checkout B^0 && > - test_must_fail git rebase $opt --strategy=ours A > + test_must_fail git rebase $opt --strategy-option=ours A > " > > - test_expect_failure "$opt incompatible with --interactive" " > 5: 51023269d3 = 5: 6ac359359e git-rebase.txt: address confusion between --no-ff vs --force-rebase > 6: f017d45dd9 = 6: e5c5db9110 directory-rename-detection.txt: technical docs on abilities and limitations > 7: 0a359df404 = 7: e330437305 git-rebase.txt: document behavioral differences between modes > 8: beaadceaef = 8: f704f7eee8 t3401: add directory rename testcases for rebase and am > 9: 431b2c36d5 = 9: 436f597487 git-rebase: make --allow-empty-message the default >