The goal of this patch series is to make it possible for "git cherry-pick" to fast forward instead of creating a new commit if the cherry picked commit has the same parent as the one we are cherry-picking on. The change since the previous series is that there is less refactoring of builtin/revert.c before introducing the --ff option, so less code churn. This also means that this series should be easier to merge. Christian Couder (9): reset: refactor updating heads into a static function reset: refactor reseting in its own function reset: make reset function non static and declare it in "reset.h" revert: refactor checking parent in a check_parent() function revert: add --ff option to allow fast forward when cherry-picking cherry-pick: add tests for new --ff option Documentation: describe new cherry-pick --ff option cherry-pick: add a no-op --no-ff option to future proof scripts rebase -i: use new --ff cherry-pick option Documentation/git-cherry-pick.txt | 10 ++- builtin/reset.c | 178 ++++++++++++++++++++----------------- builtin/revert.c | 91 ++++++++++++------- git-rebase--interactive.sh | 15 +--- reset.h | 10 ++ t/t3506-cherry-pick-ff.sh | 106 ++++++++++++++++++++++ 6 files changed, 282 insertions(+), 128 deletions(-) create mode 100644 reset.h create mode 100755 t/t3506-cherry-pick-ff.sh -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html