[Intel-gfx] [PATCH] dim: Add range-diff convenience wrapper

Lucas De Marchi lucas.de.marchi at gmail.com
Fri Oct 5 18:43:58 UTC 2018


On Thu, Oct 4, 2018 at 4:00 AM Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
>
> range-diff is awesome, but the interface is a bit silly. Add a bunch
> of shortcuts, inspired by what git diff does.
>
> v2: Add it to the developer commmands list. With this dim range-diff
> is useable on any git repo, not just a dim managed one.
>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
>  dim     | 14 ++++++++++++++
>  dim.rst |  8 ++++++++
>  2 files changed, 22 insertions(+)
>
> diff --git a/dim b/dim
> index 12c80e2051b6..f8079aa2dc4d 100755
> --- a/dim
> +++ b/dim
> @@ -475,6 +475,19 @@ function dim_retip
>         git rebase --onto $new_upstream $upstream $branch "$@"
>  }
>
> +function dim_range_diff
> +{
> +       local branch
> +
> +       branch=${1:-@\{1\}}
> +
> +       if [[ $branch != "" && $(git rev-parse $branch | wc -l) -eq 1 ]] ; then

branch is never empty since you are providing a default.

This also seems to fail silently (actually displaying a wrong info) if
one  does dim range-diff HEAD^

It would sound more useful if falling back to git-tbdiff in case
range-diff is not available. What I kind of dislike on wrappers is the
inability to provide more arguments. One that would be useful here
would be a --no-patch if one only wants to see status change, not the
change itself.

I'm still getting used to the tool so I'm always explicit: I always
type both  ranges to tell exactly what I want to compare.

git range-diff basecommit..origin/branchname basecommit..HEAD

Lucas De Marchi

> +               git range-diff $branch...HEAD
> +       else
> +               git range-diff "$@"
> +       fi
> +}
> +
>  # update for-linux-next and for-linux-next-fixes branches
>  function update_linux_next # branch next next-fixes fixes
>  {
> @@ -2188,6 +2201,7 @@ function list_developer_commands
>                 "cite"
>                 "fixes"
>                 "retip"
> +               "range-diff"
>                 "sparse"
>                 "tc"
>                 # help commands
> diff --git a/dim.rst b/dim.rst
> index b149fa39445e..9e41133aeb8d 100644
> --- a/dim.rst
> +++ b/dim.rst
> @@ -95,6 +95,14 @@ retip [*branch*] [*git-rebase option* ...]
>  Rebase the given local branch, current branch by default, onto drm-tip. Options
>  after the branch will be passed to **git-rebase**.
>
> +range-diff [ *commit-ish* | *git-range-diff options* ]
> +------------------------------------------------------
> +
> +Convenience wrapper around the git range-diff command which automatically
> +compares against HEAD if you only specify a commit-ish. In all other cases
> +forwards to git range-diff. Defaults to @{1}, which is very useful for reviewing
> +rebases.
> +
>  COMMANDS FOR COMMITTERS AND MAINTAINERS
>  =======================================
>
> --
> 2.19.0.rc2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Lucas De Marchi


More information about the Intel-gfx mailing list