Phillip Wood reported a problem where the built-in rebase did not understand options like -C1, i.e. it did not expect the option argument. While investigating how to address this best, I stumbled upon OPT_PASSTHRU_ARGV (which I was so far happily unaware of). Instead of just fixing the -C<n> bug, I decided to simply convert all of the options intended for git am (or, eventually, for git apply). This happens to fix that bug, and does so much more: it simplifies the entire logic (and removes more lines than it adds). Change since v1: * Introduce early parameter validation for the options passed through to git am. Johannes Schindelin (2): rebase: really just passthru the `git am` options rebase: validate -C<n> and --whitespace=<mode> parameters early builtin/rebase.c | 108 ++++++++++++++++---------------------- t/t3406-rebase-message.sh | 7 +++ 2 files changed, 52 insertions(+), 63 deletions(-) base-commit: 8858448bb49332d353febc078ce4a3abcc962efe Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-76%2Fdscho%2Frebase-Cn-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-76/dscho/rebase-Cn-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/76 Range-diff vs v1: 1: dc36a45068 = 1: dc36a45068 rebase: really just passthru the `git am` options -: ---------- > 2: 4c2ba52766 rebase: validate -C<n> and --whitespace=<mode> parameters early -- gitgitgadget