[PATCH 2/3] dim: Introduce dim_request_pull_tags
Jani Nikula
jani.nikula at intel.com
Mon Aug 27 08:33:55 UTC 2018
On Mon, 27 Aug 2018, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Fri, Aug 24, 2018 at 02:43:35PM -0700, Rodrigo Vivi wrote:
>> Besides drm-intel-next, sometimes it is used to re-use an
>> already existent tag that you just created outside
>> or in cases where mutt/smtp goof-up you don't want
>> to generate another identical tag with another date
>> or with "-1", "-2", etc
>>
>> Suggested-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>> 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 | 45 +++++++++++++++++++++++++++++++++++++++++++++
>> dim.rst | 6 ++++++
>> 2 files changed, 51 insertions(+)
>>
>> diff --git a/dim b/dim
>> index fec51f766e55..b4d7996a1072 100755
>> --- a/dim
>> +++ b/dim
>> @@ -1882,6 +1882,51 @@ function dim_tag_next
>> dim_tag_branch "drm-intel-next"
>> }
>>
>> +function check_tags # tags
>> +{
>> + local tag
>> +
>> + for tag in "$@";
>> + do
>> + if ! git rev-parse "$tag^{tag}" > /dev/null 2>&1; then
>> + echoerr "Aborting: Tag ${tag} not found"
>> + exit 1
>> + else
>> + echo $tag
>> + fi
>> + done
>> +}
>> +
>> +# dim_pull_request_tag branch upstream tag-list
>> +function dim_pull_request_tags
>> +{
>> + local branch upstream repo req_file url_list git_url tags tag
>> +
>> + branch=${1:?$usage}
>> + shift
>> + upstream=${1:?$usage}
>> + shift
>> + tags="$*"
>> + repo=$(branch_to_repo $branch)
>> + req_file=$(mktemp)
>> +
>> + git_fetch_helper ${upstream%%/*}
>> + echo "Using $upstream as the upstream"
>> +
>> + # Sort with newest first
>> + tags=$(check_tags $tags | sort -r)
>> + tag=$(echo $tags | cut -d " " -f 1)
>> +
>> + prep_pull_mail $req_file $tags
>> +
>> + url_list=${drm_tip_repos[$repo]}
>> + git_url=$(pick_protocol_url git $url_list)
>> +
>> + git request-pull $upstream $git_url $tag >> $req_file
>> + $DRY $DIM_MUA -s "[PULL] $branch" \
>> + -i $req_file "${dim_pull_request_recipients[@]}"
>> +}
>
> s/tags/tag/ everywhere, since it's just a single tag, not plural. That
> also means you can simplify the code a lot. Or I'm missing why you want to
> send a pull request for multiple tags at the same time?
>
> Same for the help text below.
>
> Aside: Autocomplete for this would be _very_ nifty. Should be possible to
> wire up the git tag completion function into our own autocomplete.
>
>> +
>> # dim_pull_request branch upstream
>> function dim_pull_request
>> {
>> diff --git a/dim.rst b/dim.rst
>> index 6d7528ce497f..1a9bed464021 100644
>> --- a/dim.rst
>> +++ b/dim.rst
>> @@ -292,6 +292,12 @@ be merged have been added, in order to help maintainers with deciding which tree
>> is in need of a pull request. Commiters that want to check the status of their
>> current branch should use normal **git status** commands.
>>
>> +pull-request-tags *branch* *upstream* *tags*
>> +--------------------------------------------
>> +Fetches the *upstream* remote to make sure it's up-to-date. Based on the given
>> +*tags*, it generates a pull request template with the specified *upstream*,
>> +and finally is starts \$DIM_MUA with the template with subject and
>> +recipients already set.
>
> I'd elaborate here a bit more.
>
> "This can be used if the final steps of *pull-request* failed, or together
> with *tag-branch* to separate the pull request generation from tag
> creation."
>
> I'd also add a hint to the help text for tag-branch about this new
> command.
So what's the purpose here, really? We're carefully generating a new tag
specifically to avoid re-using existing tags, and now you want to allow
it again? What are these "already existent tag that you just created
outside"?
I've seen these -1 suffix tags from Rodrigo, but I don't recall from
anyone else. What goes wrong? Should we focus on fixing that instead?
BR,
Jani.
>
> Aside from the minor polish lgtm.
> -Daniel
>
>>
>> pull-request *branch* *upstream*
>> --------------------------------
>> --
>> 2.17.1
>>
--
Jani Nikula, Intel Open Source Graphics Center
More information about the dim-tools
mailing list