Mike Rappazzo <rappazzo@xxxxxxxxx> writes: > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > index dc3133f..e2d5ffc 100644 > --- a/git-rebase--interactive.sh > +++ b/git-rebase--interactive.sh > @@ -977,7 +977,18 @@ else > revisions=$onto...$orig_head > shortrevisions=$shorthead > fi > -git rev-list $merges_option --pretty=oneline --reverse --left-right > --topo-order \ > +custom_format=$(git config --get rebase.interactive.todo-format) We use three-level names only when we need an unbounded end-user supplied things (e.g. nickname for remotes in "remote.*.url", description for a branch in "branch.*.description"). "interactive" is not such a token, so a two-level name, e.g. "rebase.insnformat" or something like that. Also core Git avoids variable names with "-" in them. > +if test -z "$custom_format" > +then > + custom_format="oneline" > +else > + # the custom format MUST start with %m%h or %m%H > + if test "${custom_format:0:5}" != '%m%h ' > + then > + custom_format="%m%h ${custom_format}" > + fi > +fi Why not allow them to *ONLY* set what follows '%m%h '? That is, if they say '%m%h %s', give them '%m%h %m%h %s', by unconditionally prepend '%m%h '. That way you do not need these conditional. Something along the lines of... format=$(git config rebase.insnFormat) if test -z "$format" then format="%m%h %s" else format="%m%h $format" fi git rev-list $merge_option --format="$format" --reverse \ --topo-order --left-right \ ... > ... I also tried changing the > '--left-right' to '--left-only', but that seemed to not produce any > results. Wouldn't we want right side of the symmetric difference, though? -- 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