[PATCH] dim: switch to dry-run in warn_or_fail
Daniel Vetter
daniel at ffwll.ch
Fri May 4 13:06:05 UTC 2018
On Fri, May 04, 2018 at 03:54:07PM +0300, Jani Nikula wrote:
> On Fri, 04 May 2018, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> > When merging a pull requests there's potentially a long list of
> > problematic patches. By switching to dry-run mode we can dump them
> > all.
> >
> > The upside here is that without this patch the workflow when
> > processing a pull is:
> >
> > $ dim apply-pull ...
> > -> dim refuses, only reports first problem
> > $ dim -d apply-pull
> > -> you see all the issues, make up your mind to merge or not
> > $ dim -f apply-pull
> >
> > With this patch we have one step less:
> >
> > $ dim apply-pull
> > -> refuses pull, but with the auto-switch to dry-run reports
> > everything and you can immediately make up your mind to merge or not
> > $ dim -f apply-pull
>
> Downside is that warn_or_fail now *never* fails, and you have to make
> absolutely sure dry run actually is a dry run *everywhere*. So far it's
> been best effort.
>
> At least dim rebuild-tip does not handle this cleanly.
>
> I'd just make checkpatch_commit_push do logging and return an exit code,
> which the callers can handle as fatally as they want. I.e. there's the
> loop to go through all the commits, handle exit codes from
> checkpatch_commit_push just like apply_patch handles exit codes, then
> loop through all the commits, and after that, do the warn_or_fail if rv
> is non-zero.
Yeah, that's a safer way to implement the same idea. I'll do that.
-Daniel
>
> BR,
> Jani.
>
>
> >
> > Cc: Dave Airlie <airlied at gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> > ---
> > dim | 13 +++++++++----
> > 1 file changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/dim b/dim
> > index d8288a342352..499ffcfdd807 100755
> > --- a/dim
> > +++ b/dim
> > @@ -144,6 +144,12 @@ function echoerr
> > echo "$dim: $*" >&2
> > }
> >
> > +function enable_dry_run
> > +{
> > + DRY_RUN=--dry-run
> > + DRY="echo"
> > +}
> > +
> > function warn_or_fail
> > {
> > if [[ $FORCE ]] ; then
> > @@ -151,8 +157,8 @@ function warn_or_fail
> > elif [[ $DRY ]] ; then
> > echoerr "WARNING: $1, but continuing dry-run"
> > else
> > - echoerr "ERROR: $1, aborting"
> > - exit 1
> > + echoerr "ERROR: $1, switching to dry-run mode"
> > + enable_dry_run
> > fi
> > }
> >
> > @@ -2261,8 +2267,7 @@ HELP=
> > while getopts hdfis opt; do
> > case "$opt" in
> > d)
> > - DRY_RUN=--dry-run
> > - DRY="echo"
> > + enable_dry_run
> > ;;
> > f)
> > FORCE=1
>
> --
> Jani Nikula, Intel Open Source Technology Center
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dim-tools
mailing list