Code

Teach rebase the --no-ff option.
authorMarc Branchaud <marcnarc@xiplink.com>
Wed, 24 Mar 2010 20:34:04 +0000 (16:34 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Mar 2010 21:42:57 +0000 (14:42 -0700)
commitb499549401cb2b1f6c30d09681380fd519938eb0
treeba31383bcfd4878a57abbc7f1dba5947f83eccd8
parent60dafdd37d7df358b6ff67b317dbe738b50ea6d6
Teach rebase the --no-ff option.

For git-rebase.sh, --no-ff is a synonym for --force-rebase.

For git-rebase--interactive.sh, --no-ff cherry-picks all the commits in
the rebased branch, instead of fast-forwarding over any unchanged commits.

--no-ff offers an alternative way to deal with reverted merges.  Instead of
"reverting the revert" you can use "rebase --no-ff" to recreate the branch
with entirely new commits (they're new because at the very least the
committer time is different).  This obviates the need to revert the
reversion, as you can re-merge the new topic branch directly.  Added an
addendum to revert-a-faulty-merge.txt describing the situation and how to
use --no-ff to handle it.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-rebase.txt
Documentation/howto/revert-a-faulty-merge.txt
git-rebase--interactive.sh
git-rebase.sh
t/t3404-rebase-interactive.sh