On Tue, Aug 28, 2018 at 08:36:44PM +0200, Daniel Vetter wrote:
> On Tue, Aug 28, 2018 at 02:31:00PM -0400, Sean Paul wrote:
> > From: Sean Paul <[email protected]>
> > 
> > Since -fixes and -fixes-next (to a lesser extent) are rebasing trees in
> > drm-misc, add a dim rebase command that sanity checks the upstream and
> > adds SoB for the committer.
> > 
> > Changes in v2:
> > - s/validate_upstream_branch/validate_upstream_baseline/ (Daniel)
> > - Use check_conflicts instead of hand rolling (Daniel)
> > 
> > Cc: Boris Brezillon <[email protected]>
> > Cc: Daniel Vetter <[email protected]>
> > Signed-off-by: Sean Paul <[email protected]>
> 
> Reviewed-by: Daniel Vetter <[email protected]>
> 

Pushed, thanks!

Sean

> > ---
> >  dim     | 42 +++++++++++++++++++++++++++++++++++++-----
> >  dim.rst |  8 ++++++++
> >  2 files changed, 45 insertions(+), 5 deletions(-)
> > 
> > diff --git a/dim b/dim
> > index 5040d6b046b2..3f5fdb9233f7 100755
> > --- a/dim
> > +++ b/dim
> > @@ -1014,12 +1014,12 @@ function dim_apply_pull
> >     return $rv
> >  }
> >  
> > -function dim_backmerge
> > +function validate_upstream_baseline
> >  {
> > -   local branch upstream patch_file
> > +   local branch upstream
> >  
> > -   branch=${1:?$usage}
> > -   upstream=${2:?$usage}
> > +   branch=${1}
> > +   upstream=${2}
> >  
> >     cd $DIM_PREFIX/drm-tip
> >  
> > @@ -1041,6 +1041,16 @@ function dim_backmerge
> >  
> >     assert_branch $branch
> >     assert_repo_clean
> > +}
> > +
> > +function dim_backmerge
> > +{
> > +   local branch upstream patch_file
> > +
> > +   branch=${1:?$usage}
> > +   upstream=${2:?$usage}
> > +
> > +   validate_upstream_baseline $branch $upstream
> >  
> >     git merge --rerere-autoupdate --no-commit $upstream >& /dev/null || true
> >  
> > @@ -1059,7 +1069,7 @@ function dim_backmerge
> >  
> >             HERE
> >  
> > -   if git diff | grep -q '\(<<<<<<<\|=======\|>>>>>>>\||||||||\)' ; then
> > +   if ! check_conflicts "$upstream" ; then
> >             echoerr "Conflicts found while merging $upstream into $branch."
> >             echoerr "This should only happen when git rerere gets confused"
> >             echoerr "or if there's a manual fixup patch in drm-rerere."
> > @@ -1072,6 +1082,28 @@ function dim_backmerge
> >     git commit -s
> >  }
> >  
> > +function dim_rebase
> > +{
> > +   local branch upstream patch_file
> > +
> > +   branch=${1:?$usage}
> > +   upstream=${2:?$usage}
> > +
> > +   validate_upstream_baseline $branch $upstream
> > +
> > +   git rebase --signoff $upstream >& /dev/null || true
> > +   if ! check_conflicts "$upstream" ; then
> > +           echoerr "Conflicts found while rebasing $branch onto $upstream."
> > +           echoerr "Please proceed with extreme caution."
> > +           echoerr "Resolve the conflict and test it.  Once the conflict "
> > +           echoerr "is resolved, commit it with: "
> > +           echoerr "   git commit -a"
> > +           echoerr "And continue the rebase with: "
> > +           echoerr "   git rebase --continue"
> > +           exit 1
> > +   fi
> > +}
> > +
> >  function dim_add_link
> >  {
> >     local branch file message_id
> > diff --git a/dim.rst b/dim.rst
> > index 6d7528ce497f..4137d1be6f52 100644
> > --- a/dim.rst
> > +++ b/dim.rst
> > @@ -338,6 +338,14 @@ Backmerges *upstream* into *branch*, making a few 
> > sanity checks on the way. The
> >  using **pull-request**. Alternatively it can also be a tag, which if 
> > available
> >  should be preferred.
> >  
> > +rebase *branch* *upstream*
> > +-----------------------------
> > +
> > +Rebases *branch* onto *upstream*, making a few sanity checks on the way. 
> > The
> > +*upstream* we rebase onto should be the same as used for sending out pull 
> > requests
> > +using **pull-request**. Alternatively it can also be a tag, which if 
> > available
> > +should be preferred.
> > +
> >  update-next
> >  -----------
> >  Pushes out the latest dinq to drm-intel-next and tags it. Also
> > -- 
> > Sean Paul, Software Engineer, Google / Chromium OS
> > 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
dim-tools mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dim-tools

Reply via email to