rebase: remove unused code paths from git_rebase__interactive__preserve_merges
Since git_rebase__interactive__preserve_merges is now always called with $preserve_merges = t we can remove the unused code paths. Signed-off-by: Wink Saville <wink@saville.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Wink Saville committed
Mar 23, 2018 at 14:25 UTC
ca3d446e44a5cc64ddbf8a136ea9cb44707b497b
1 file changed
+69
-83
git-rebase--interactive.sh
+69
-83
@@ -982,100 +982,86 @@ git_rebase__interactive__preserve_merges () {
982
setup_reflog_action
983
init_basic_state
984
985
- if test t = "$preserve_merges"
985
+ if test -z "$rebase_root"
986
then
987
- if test -z "$rebase_root"
988
- then
989
- mkdir "$rewritten" &&
990
- for c in $(git merge-base --all $orig_head $upstream)
991
- do
992
- echo $onto > "$rewritten"/$c ||
993
- die "$(gettext "Could not init rewritten commits")"
994
- done
995
- else
996
- mkdir "$rewritten" &&
997
- echo $onto > "$rewritten"/root ||
987
+ mkdir "$rewritten" &&
988
+ for c in $(git merge-base --all $orig_head $upstream)
989
+ do
990
+ echo $onto > "$rewritten"/$c ||
991
die "$(gettext "Could not init rewritten commits")"
999
- fi
1000
- # No cherry-pick because our first pass is to determine
1001
- # parents to rewrite and skipping dropped commits would
1002
- # prematurely end our probe
1003
- merges_option=
992
+ done
993
else
1005
- merges_option="--no-merges --cherry-pick"
994
+ mkdir "$rewritten" &&
995
+ echo $onto > "$rewritten"/root ||
996
+ die "$(gettext "Could not init rewritten commits")"
997
fi
998
999
+ # No cherry-pick because our first pass is to determine
1000
+ # parents to rewrite and skipping dropped commits would
1001
+ # prematurely end our probe
1002
+ merges_option=
1003
+
1004
init_revisions_and_shortrevisions
1005
1010
- if test t != "$preserve_merges"
1011
- then
1012
- git rebase--helper --make-script ${keep_empty:+--keep-empty} \
1013
- $revisions ${restrict_revision+^$restrict_revision} >"$todo" ||
1014
- die "$(gettext "Could not generate todo list")"
1015
- else
1016
- format=$(git config --get rebase.instructionFormat)
1017
- # the 'rev-list .. | sed' requires %m to parse; the instruction requires %H to parse
1018
- git rev-list $merges_option --format="%m%H ${format:-%s}" \
1019
- --reverse --left-right --topo-order \
1020
- $revisions ${restrict_revision+^$restrict_revision} | \
1021
- sed -n "s/^>//p" |
1022
- while read -r sha1 rest
1023
- do
1006
+ format=$(git config --get rebase.instructionFormat)
1007
+ # the 'rev-list .. | sed' requires %m to parse; the instruction requires %H to parse
1008
+ git rev-list $merges_option --format="%m%H ${format:-%s}" \
1009
+ --reverse --left-right --topo-order \
1010
+ $revisions ${restrict_revision+^$restrict_revision} | \
1011
+ sed -n "s/^>//p" |
1012
+ while read -r sha1 rest
1013
+ do
1014
1025
- if test -z "$keep_empty" && is_empty_commit $sha1 && ! is_merge_commit $sha1
1026
- then
1027
- comment_out="$comment_char "
1028
- else
1029
- comment_out=
1030
- fi
1015
+ if test -z "$keep_empty" && is_empty_commit $sha1 && ! is_merge_commit $sha1
1016
+ then
1017
+ comment_out="$comment_char "
1018
+ else
1019
+ comment_out=
1020
+ fi
1021
1032
- if test -z "$rebase_root"
1033
- then
1034
- preserve=t
1035
- for p in $(git rev-list --parents -1 $sha1 | cut -d' ' -s -f2-)
1036
- do
1037
- if test -f "$rewritten"/$p
1038
- then
1039
- preserve=f
1040
- fi
1041
- done
1042
- else
1043
- preserve=f
1044
- fi
1045
- if test f = "$preserve"
1046
- then
1047
- touch "$rewritten"/$sha1
1048
- printf '%s\n' "${comment_out}pick $sha1 $rest" >>"$todo"
1049
- fi
1050
- done
1051
- fi
1022
+ if test -z "$rebase_root"
1023
+ then
1024
+ preserve=t
1025
+ for p in $(git rev-list --parents -1 $sha1 | cut -d' ' -s -f2-)
1026
+ do
1027
+ if test -f "$rewritten"/$p
1028
+ then
1029
+ preserve=f
1030
+ fi
1031
+ done
1032
+ else
1033
+ preserve=f
1034
+ fi
1035
+ if test f = "$preserve"
1036
+ then
1037
+ touch "$rewritten"/$sha1
1038
+ printf '%s\n' "${comment_out}pick $sha1 $rest" >>"$todo"
1039
+ fi
1040
+ done
1041
1042
# Watch for commits that been dropped by --cherry-pick
1054
- if test t = "$preserve_merges"
1055
- then
1056
- mkdir "$dropped"
1057
- # Save all non-cherry-picked changes
1058
- git rev-list $revisions --left-right --cherry-pick | \
1059
- sed -n "s/^>//p" > "$state_dir"/not-cherry-picks
1060
- # Now all commits and note which ones are missing in
1061
- # not-cherry-picks and hence being dropped
1062
- git rev-list $revisions |
1063
- while read rev
1064
- do
1065
- if test -f "$rewritten"/$rev &&
1066
- ! sane_grep "$rev" "$state_dir"/not-cherry-picks >/dev/null
1067
- then
1068
- # Use -f2 because if rev-list is telling us this commit is
1069
- # not worthwhile, we don't want to track its multiple heads,
1070
- # just the history of its first-parent for others that will
1071
- # be rebasing on top of it
1072
- git rev-list --parents -1 $rev | cut -d' ' -s -f2 > "$dropped"/$rev
1073
- sha1=$(git rev-list -1 $rev)
1074
- sane_grep -v "^[a-z][a-z]* $sha1" <"$todo" > "${todo}2" ; mv "${todo}2" "$todo"
1075
- rm "$rewritten"/$rev
1076
- fi
1077
- done
1078
- fi
1043
+ mkdir "$dropped"
1044
+ # Save all non-cherry-picked changes
1045
+ git rev-list $revisions --left-right --cherry-pick | \
1046
+ sed -n "s/^>//p" > "$state_dir"/not-cherry-picks
1047
+ # Now all commits and note which ones are missing in
1048
+ # not-cherry-picks and hence being dropped
1049
+ git rev-list $revisions |
1050
+ while read rev
1051
+ do
1052
+ if test -f "$rewritten"/$rev &&
1053
+ ! sane_grep "$rev" "$state_dir"/not-cherry-picks >/dev/null
1054
+ then
1055
+ # Use -f2 because if rev-list is telling us this commit is
1056
+ # not worthwhile, we don't want to track its multiple heads,
1057
+ # just the history of its first-parent for others that will
1058
+ # be rebasing on top of it
1059
+ git rev-list --parents -1 $rev | cut -d' ' -s -f2 > "$dropped"/$rev
1060
+ sha1=$(git rev-list -1 $rev)
1061
+ sane_grep -v "^[a-z][a-z]* $sha1" <"$todo" > "${todo}2" ; mv "${todo}2" "$todo"
1062
+ rm "$rewritten"/$rev
1063
+ fi
1064
+ done
1065
1066
complete_action
1067
}