On Fri, Oct 05, 2018 at 01:39:23PM -0700, Lucas De Marchi wrote: > On Fri, Oct 5, 2018 at 12:11 PM Daniel Vetter <[email protected]> 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. > > > > v3: Comments from Lucas: > > - Forward additional arguments. There's no --no-patch in upstream git, > > There is (at least in the 2.19.0 final release), it's just not > documented... like in other > git commands, these option are forwarded to the command below, which in this > case is git-diff. > > $ git range-diff --no-patch 0cb02867d768...f2fcb2af4be0 > 1: 0cb02867d768 ! 1: f2fcb2af4be0 untested crap > > I discovered this while trying to figure out why range-diff was not > working for me: > > $ git range-diff 0cb02867d768...f2fcb2af4be0 > 1: 0cb02867d768 ! 1: f2fcb2af4be0 untested crap > Submodule a 000000000000...000000000000 (new submodule) > > And it still isn't, not sure why. > > But I'm digressing. > > Reviewed-by: Lucas De Marchi <[email protected]>
Thanks for reviewing, patch pushed. -Daniel > > Lucas De Marchi > > > but I tested this with --no-color and --no-dual-color. Slightly a > > hack since detecting whether it's a branch or not became even more > > fun, but works in all cases. > > - Remove impossible "$branch" == "" check - I added a default. > > > > v4: Update docs. > > > > Cc: Lucas De Marchi <[email protected]> > > Signed-off-by: Daniel Vetter <[email protected]> > > --- > > dim | 19 +++++++++++++++++++ > > dim.rst | 10 ++++++++++ > > 2 files changed, 29 insertions(+) > > > > diff --git a/dim b/dim > > index 72c86db560a7..aeaea05dac4b 100755 > > --- a/dim > > +++ b/dim > > @@ -475,6 +475,24 @@ function dim_retip > > git rebase --onto $new_upstream $upstream $branch "$@" > > } > > > > +function dim_range_diff > > +{ > > + local branch > > + > > + branch=${1:-@\{1\}} > > + > > + if [[ $(git rev-parse $branch | wc -l) -eq 1 ]] ; then > > + if [[ $(git rev-parse $branch) == "$branch" ]] ; then > > + branch="@{1}" > > + else > > + shift || true > > + fi > > + 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 > > { > > @@ -2190,6 +2208,7 @@ function list_developer_commands > > "cite" > > "fixes" > > "retip" > > + "range-diff" > > "sparse" > > "tc" > > # help commands > > diff --git a/dim.rst b/dim.rst > > index b149fa39445e..5a093b03c24a 100644 > > --- a/dim.rst > > +++ b/dim.rst > > @@ -95,6 +95,16 @@ 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. Additional options after the commit-ish will be passed to > > +**git-range-diff**. Anything that can't be parsed as a commit-ish will > > also be > > +forward in its entirety. > > + > > COMMANDS FOR COMMITTERS AND MAINTAINERS > > ======================================= > > > > -- > > 2.19.0.rc2 > > > > > -- > Lucas De Marchi -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dim-tools mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dim-tools
