Mike Rappazzo <rappa...@gmail.com> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to