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 <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Jani Nikula <[email protected]>
Signed-off-by: Rodrigo Vivi <[email protected]>
---
 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[@]}"
+}
+
 # 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.
 
 pull-request *branch* *upstream*
 --------------------------------
-- 
2.17.1

_______________________________________________
dim-tools mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dim-tools

Reply via email to