[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:49:16 UTC 2017


On Thu, Aug 17, 2017 at 9:18 AM, Rodrigo Vivi <rodrigo.vivi at gmail.com> wrote:
> 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]

nevermind... please entirely ignore this..

I solved my own needs with:

dim_pwaq()
{
        if [ -n "$1" ]; then
                curl https://patchwork.freedesktop.org/patch/$1/mbox/
| dim_apply_queued
        else
                echo "Give me a patchwork id"
        fi
}

using as:
$ dim pwaq 172141

>
>>
>> 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...

this part is still valid..

>
>>
>>
>> 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



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


More information about the Intel-gfx mailing list