On Sun, Jun 17, 2018 at 8:38 AM, Phillip Wood <phillip.wood@xxxxxxxxxxxx> wrote: >> +Other incompatible flag pairs: >> + >> + * --preserve-merges && --interactive >> + * --preserve-merges && --signoff >> + * --preserve-merges && --rebase-merges >> + * --rebase-merges && --strategy > > Does --rebase-merges support --strategy-options? Good catch. I hadn't yet tested --rebase-merges or --preserve-merges myself, so I was just going off notes in the documentation or code for those ones. I created a simple case needing -Xignore-space-change to merge cleanly, and found that any --strategy-option argument will be silently ignored by --rebase-merges currently. So, we should also document and warn the user that those options are currently incompatible. >> + >> include::merge-strategies.txt[] >> NOTES >> > This is a great step forward. In the long run it would be nice not to have > to mention the backends. Once git-rebase--merge.sh is gone, the situation is > simpler and it would be nice to reword this to say something like > The --committer-date-is-author-date, --ignore-date, --whitespace, > --ignore-whitespace and -C options are incompatible with the following > --exec ... Also note that --rebase-merges is incompatible with > --strategy; and --preserve-merges is incompatible with --interactive, > --signoff, --rebase-merges. > rather than talking about am options etc. That sounds like it would be simpler for the incompatible options, but what about discussing inconsistent behavior between different backends (empty commit handling, empty commit message handling, and directory rename detection)? Do we first need to remove all those inconsistencies before rewording the documentation here, or is there a clever way to discuss those?