I'm getting real lazy, let's start scripting this. Very rough draft,
but adds a Link: (patchwork tracks pull requests too, maybe we'll
start CI-ing them too), and sob line. In the future we might add more
checks here ...

Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>
---
 dim     | 34 ++++++++++++++++++++++++++++++++++
 dim.rst |  4 ++++
 2 files changed, 38 insertions(+)

diff --git a/dim b/dim
index 0903f6c2634d..73c25a195f17 100755
--- a/dim
+++ b/dim
@@ -717,6 +717,40 @@ function dim_apply_branch
        return $rv
 }
 
+dim_alias_ap=apply-pull
+function dim_apply_pull
+{
+       local branch file message_id pull_branch rv
+
+       branch=${1:?$usage}
+       shift
+       file=$(mktemp)
+
+       assert_branch $branch
+       assert_repo_clean
+
+       cat > $file
+
+       pull_branch=$(sed -e '0,/git repository at:$/d' $file | head -n 2 | 
tail -n 1)
+
+       echo $pull_branch
+
+       git pull $pull_branch
+
+       message_id=$(message_get_id $file)
+
+       if [ -n "$message_id" ]; then
+               dim_commit_add_tag "\nLink: 
http://patchwork.freedesktop.org/patch/msgid/$message_id";
+       else
+               echoerr "WARNING: No message-id found in the patch file."
+               rv=1
+       fi
+
+       git commit --amend -s
+
+       return $rv
+}
+
 function dim_add_link
 {
        local branch file message_id
diff --git a/dim.rst b/dim.rst
index aed79ca1d43c..a1c67143d910 100644
--- a/dim.rst
+++ b/dim.rst
@@ -356,6 +356,10 @@ tag; this must have been done previously using 
**update-next**. This also means
 that the pull request can be regenerated with the same commands if something
 goes wrong.
 
+apply-pull *branch*
+-------------------
+Reads a pull request mail from stdin and merges it into the given *branch*.
+
 update-next
 -----------
 Pushes out the latest dinq to drm-intel-next and tags it. Also
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to