pr-1466/newren/rebase-update-refs-imply-merge-v5
tagged this
25 Jan 04:03
…ompatibilities We had a report about --update-refs being ignored when --whitespace=fix was passed, confusing an end user. These were already marked as incompatible in the manual, but the code didn't check for the incompatibility and provide an error to the user. Folks brought up other flags tangentially when reviewing an earlier round of this series, and I found we had more that were missing checks, and that we were missing some testcases, and that the documentation was wrong on some of the relevant options. So, I ended up getting lots of little fixes to straighten these all out. Changes since v4: * Pulled out the changes regarding incompatibility detection for --[no-]reapply-cherry-picks into a separate patch. Phillip helped a lot with understanding the behavior, suggesting changes, and getting the wording right, and I think it deserves its own patch with its own explanation. Changes since v3: * Corrected the code surrounding --[no-]reapply-cherry-picks, and extended the testcases (Thanks to Phillip for pointing out my error) * I went ahead and implemented the better error message when the merge backend is triggered solely via config options. Changes since v2: * Remove the extra patch and reword the comment in t3422 more thoroughly. * Add tests for other flag incompatibilities that were missing * Add code that was missing for checking various flag incompatibilities * Fix incorrect claims in the documentation around incompatible options * A few other miscellaneous fixups noticed while doing all the above Changes since v1: * Add a patch nuking the -C option to rebase (fixes confusion around the comment in t3422 and acknowledges the fact that the option is totally and utterly useless and always has been. It literally never affects the results of a rebase.) Signed-off-by: Elijah Newren newren@gmail.com Elijah Newren (10): rebase: mark --update-refs as requiring the merge backend rebase: flag --apply and --merge as incompatible rebase: remove --allow-empty-message from incompatible opts rebase: fix docs about incompatibilities with --root rebase: fix incompatiblity checks for --[no-]reapply-cherry-picks rebase: add coverage of other incompatible options rebase: clarify the OPT_CMDMODE incompatibilities rebase: fix formatting of rebase --reapply-cherry-picks option in docs rebase: put rebase_options initialization in single place rebase: provide better error message for apply options vs. merge config Documentation/git-rebase.txt | 77 ++++++++++++------------- builtin/rebase.c | 79 +++++++++++++++++++------- t/t3422-rebase-incompatible-options.sh | 71 +++++++++++++++++++++-- 3 files changed, 163 insertions(+), 64 deletions(-) base-commit: 56c8fb1e95377900ec9d53c07886022af0a5d3c2 Submitted-As: https://lore.kernel.org/git/pull.1466.v5.git.1674619434.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.1466.git.1674106587550.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.1466.v2.git.1674190573.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.1466.v3.git.1674266126.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.1466.v4.git.1674367961.gitgitgadget@gmail.com
Assets 2
-
2023-01-25T04:03:54Z -
2023-01-25T04:03:54Z -