diff options
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-x | git-rebase.sh | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index 38cbee7dce..24a2840033 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -22,7 +22,7 @@ currently checked out branch is used. Example: git-rebase master~1 topic - A---B---C topic A'\''--B'\''--C'\'' topic + A---B---C topic A'\''--B'\''--C'\'' topic / --> / D---E---F---G master D---E---F---G master ' @@ -43,6 +43,7 @@ s,strategy=! use the given merge strategy no-ff! cherry-pick all commits, even if unchanged m,merge! use merging strategies to rebase i,interactive! let the user edit the list of commits to rebase +k,keep-empty preserve empty commits during rebase f,force-rebase! force rebase even if branch is up to date X,strategy-option=! pass the argument through to the merge strategy stat! display a diffstat of what changed upstream @@ -63,7 +64,7 @@ skip! skip current patch and continue " . git-sh-setup set_reflog_action rebase -require_work_tree +require_work_tree_exists cd_to_toplevel LF=' @@ -97,6 +98,7 @@ state_dir= action= preserve_merges= autosquash= +keep_empty= test "$(git config --bool rebase.autosquash)" = "true" && autosquash=t read_basic_state () { @@ -220,6 +222,9 @@ do -i) interactive_rebase=explicit ;; + -k) + keep_empty=yes + ;; -p) preserve_merges=t test -z "$interactive_rebase" && interactive_rebase=implied @@ -380,7 +385,7 @@ then then . git-parse-remote error_on_missing_default_upstream "rebase" "rebase" \ - "against" "git rebase <upstream branch>" + "against" "git rebase <branch>" fi ;; *) upstream_name="$1" @@ -441,8 +446,7 @@ case "$#" in then head_name="detached HEAD" else - echo >&2 "fatal: no such branch: $1" - usage + die "fatal: no such branch: $1" fi ;; *) |