[Intel-gfx] [maintainer-tools PATCH 2/2] dim: Accept patchwork URLs as apply-branch optional argument.

Rodrigo Vivi rodrigo.vivi at gmail.com
Thu Aug 17 16:18:02 UTC 2017


On Thu, Aug 17, 2017 at 12:45 AM, Jani Nikula <jani.nikula at intel.com> wrote:
> On Wed, 16 Aug 2017, Rodrigo Vivi <rodrigo.vivi at gmail.com> wrote:
>> On Wed, Aug 16, 2017 at 11:13 AM, Rodrigo Vivi <rodrigo.vivi at intel.com> wrote:
>>> Instead of having to manually download mbox from patchwork
>>> let's make dim to do it directly.
>>>
>>> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
>>> Cc: Jani Nikula <jani.nikula at intel.com>
>>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>>> ---
>>>  dim | 18 ++++++++++++++++++
>>>  1 file changed, 18 insertions(+)
>>>
>>> diff --git a/dim b/dim
>>> index e98d23b24ec0..73b48da7f436 100755
>>> --- a/dim
>>> +++ b/dim
>>> @@ -756,6 +756,16 @@ function dim_push
>>>         dim_push_branch $(git_current_branch) "$@"
>>>  }
>>>
>>> +function download_mbox
>>> +{
>>> +       wget -q --spider ${1}
>>> +       if [ $? -ne "0" ]; then
>>> +           echoerr "URL ${1} not found."
>>> +           exit 1
>>> +       fi
>>> +       wget -q ${1} -O $2
>>> +}
>>> +
>>>  # ensure we're on branch $1, and apply patches. the rest of the arguments are
>>>  # passed to git am.
>>>  dim_alias_ab=apply-branch
>>> @@ -772,6 +782,14 @@ function dim_apply_branch
>>>         assert_repo_clean
>>>
>>>         case $1 in
>>> +               *"patchwork.freedesktop.org"*"mbox")
>>> +                       download_mbox $1 $file
>>> +                       shift
>>> +                       ;;
>>> +               *"patchwork.freedesktop.org"*)
>>
>> Another thing that I'd like to do is to be able to give the patchwork
>> id directly, but I don't want to mess with the $@ going to git
>> directly so I'm not sure which way would be better...
>
> Personally I prefer using message-id based patchwork references:
>
> http://patchwork.freedesktop.org/patch/msgid/20170811113907.6716-1-jani.nikula@intel.com

well remembered...
in the end it gets converted to
https://patchwork.freedesktop.org/patch/171432/

so we can get
https://patchwork.freedesktop.org/patch/171432/mbox

>
>> maybe parse for something like
>> "pw="*)
>> download_mbox ${1#pw=} $file
>> so we could use
>> dim aq pw=170802
>>
>> ?
>> suggestions?
>
> The ways around this are argument parsing in apply-branch or adding
> another dim subcommand.

Usage: dim apply-branch [apply-branch options] branch [--] [git options]

-i  <patchwork-id>
-m <Message-id>
-u <url>

hmm but not sure it goes well with the aliases were we would need to convert

dim aq -m 20170811113907.6716-1-jani.nikula at intel.com [git options]
to
dim apply-branch -m 20170811113907.6716-1-jani.nikula at intel.com
drm-intel-next-queued [git options]

>
> Btw one missing piece is handling series mboxes, which do apply, but
> only the last commit from an mbox gets all the checks and Link: tags
> etc.

yeap! well remembered! I suffered from this behaviour already and seen
other folks also complaining about it.

So, for this should we iterate over patches inside mbox somehow and
git apply one by one or should we apply and then rebase && amend ?
not sure how to deal whit this in a cleaner way...

>
>
> BR,
> Jani.
>
>
>>
>>
>>> +                       download_mbox $1/mbox $file
>>> +                       shift
>>> +                       ;;
>>>                 *".patch" | *".mbox")
>>>                         cat $1 > $file
>>>                         shift
>>> --
>>> 2.13.2
>>>
>>> _______________________________________________
>>> Intel-gfx mailing list
>>> Intel-gfx at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Jani Nikula, Intel Open Source Technology Center



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br


More information about the Intel-gfx mailing list