From: Junio C Hamano Date: Mon, 14 Jan 2019 23:29:32 +0000 (-0800) Subject: Merge branch 'km/rebase-doc-typofix' X-Git-Tag: v2.21.0-rc0~111 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/d95f610c64b9b33957beaa1da60a489d0b4aa7fc?ds=inline;hp=-c Merge branch 'km/rebase-doc-typofix' Doc update. * km/rebase-doc-typofix: rebase docs: drop stray word in merge command description --- d95f610c64b9b33957beaa1da60a489d0b4aa7fc diff --combined Documentation/git-rebase.txt index dff17b3178,d6a2591105..2ee535fb23 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@@ -203,7 -203,7 +203,7 @@@ Alternatively, you can undo the 'git re CONFIGURATION ------------- -include::rebase-config.txt[] +include::config/rebase.txt[] OPTIONS ------- @@@ -441,8 -441,7 +441,8 @@@ See also INCOMPATIBLE OPTIONS below --exec :: Append "exec " after each line creating a commit in the final history. will be interpreted as one or more shell - commands. + commands. Any command that fails will interrupt the rebase, + with exit code 1. + You may execute several commands by either using one instance of `--exec` with several commands: @@@ -550,28 -549,24 +550,28 @@@ Other incompatible flag pairs BEHAVIORAL DIFFERENCES ----------------------- - * empty commits: +There are some subtle differences how the backends behave. - am-based rebase will drop any "empty" commits, whether the - commit started empty (had no changes relative to its parent to - start with) or ended empty (all changes were already applied - upstream in other commits). +Empty commits +~~~~~~~~~~~~~ - merge-based rebase does the same. +The am backend drops any "empty" commits, regardless of whether the +commit started empty (had no changes relative to its parent to +start with) or ended empty (all changes were already applied +upstream in other commits). - interactive-based rebase will by default drop commits that - started empty and halt if it hits a commit that ended up empty. - The `--keep-empty` option exists for interactive rebases to allow - it to keep commits that started empty. +The merge backend does the same. - * directory rename detection: +The interactive backend drops commits by default that +started empty and halts if it hits a commit that ended up empty. +The `--keep-empty` option exists for the interactive backend to allow +it to keep commits that started empty. - merge-based and interactive-based rebases work fine with - directory rename detection. am-based rebases sometimes do not. +Directory rename detection +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The merge and interactive backends work fine with +directory rename detection. The am backend sometimes does not. include::merge-strategies.txt[] @@@ -646,9 -641,6 +646,9 @@@ By replacing the command "pick" with th the files and/or the commit message, amend the commit, and continue rebasing. +To interrupt the rebase (just like an "edit" command would do, but without +cherry-picking any commit first), use the "break" command. + If you just want to edit the commit message for a commit, replace the command "pick" with the command "reword". @@@ -979,7 -971,7 +979,7 @@@ when the merge operation did not even s At this time, the `merge` command will *always* use the `recursive` merge strategy for regular merges, and `octopus` for octopus merges, - strategy, with no way to choose a different one. To work around + with no way to choose a different one. To work around this, an `exec` command can be used to call `git merge` explicitly, using the fact that the labels are worktree-local refs (the ref `refs/rewritten/onto` would correspond to the label `onto`, for example).