From: ville.syrjala@linux.intel.com
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH dim v2 1/2] dim: Add extract-tags command
Date: Wed, 15 Mar 2017 17:09:04 +0200 [thread overview]
Message-ID: <20170315150904.3374-1-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20170314185014.8635-1-ville.syrjala@linux.intel.com>
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a command for extracting various tags (eg. Reviwed-by:) from
emails. You can give the comamnd a rangeish to add the tags from
the same email to multiple already applied patches.
The regexp used to pick up tags is purposefully quite broad. People
tend to typo these things, or add extra whitespace etc. However the
broad regexp does mean this occasionally picks up stuff that isn't
a tag. So manually amending the commit is probably a wise idea,
and so I simply decided to also leave a '--- extracted tags ---'
separator in the commit message just before the extracted tags,
which can be cleaned up manually when verifying that the tags look
correct.
v2: Drop the aliases
Remove the temp file
Clean up locals
Other codingstyle cleanups
Use '# *** ... ***' for the separator
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
dim | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/dim b/dim
index 6d3b9734b348..8d76953d1746 100755
--- a/dim
+++ b/dim
@@ -333,6 +333,28 @@ if message_id is not None:
EOF
}
+message_print_body ()
+{
+ python2 <<EOF
+import email
+
+def print_part(part):
+ mtype = part.get_content_maintype()
+ if mtype == 'text':
+ print(part.get_payload(decode=True))
+
+def print_msg(file):
+ msg = email.message_from_file(file)
+ if msg.is_multipart():
+ for part in msg.get_payload():
+ print_part(part)
+ else:
+ print_part(msg)
+
+print_msg(open('$1', 'r'))
+EOF
+}
+
# append all arguments as tags at the end of the commit message of HEAD
function dim_commit_add_tag
{
@@ -973,6 +995,48 @@ function rangeish()
fi
}
+function dim_extract_tags
+{
+ local branch range file tags
+
+ branch=$1
+ shift
+ range=$(rangeish "$1")
+ file=$(mktemp)
+
+ assert_branch $branch
+ assert_repo_clean
+
+ cat > $file
+
+ tags=$(message_print_body "$file" | grep -ai '^[^>]*[A-Za-z-]\+: [^ ]')
+
+ rm -f $file
+
+ if [[ -z "$tags" ]]; then
+ return 0
+ fi
+
+ tags=$(printf -- "# *** extracted tags ***\n%s" "$tags")
+
+ git filter-branch -f --msg-filter "cat ; echo \"$tags\"" $range
+}
+
+function dim_extract_queued
+{
+ dim_extract_tags drm-intel-next-queued "$@"
+}
+
+function dim_extract_fixes
+{
+ dim_extract_tags drm-intel-fixes "$@"
+}
+
+function dim_extract_next_fixes
+{
+ dim_extract_tags drm-intel-next-fixes "$@"
+}
+
dim_alias_check_patch=checkpatch
dim_alias_cp=checkpatch
function dim_checkpatch
--
2.10.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-03-15 15:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-14 18:50 [PATCH dim 1/2] dim: Add extract-tags command ville.syrjala
2017-03-14 18:50 ` [PATCH dim 2/2] dim: Add add-link command ville.syrjala
2017-03-15 9:17 ` Jani Nikula
2017-03-15 9:18 ` Jani Nikula
2017-03-15 10:53 ` Ville Syrjälä
2017-03-15 11:08 ` Jani Nikula
2017-03-15 15:09 ` [PATCH dim v2 " ville.syrjala
2017-03-15 9:11 ` [PATCH dim 1/2] dim: Add extract-tags command Jani Nikula
2017-03-15 10:51 ` Ville Syrjälä
2017-03-15 11:04 ` Jani Nikula
2017-03-15 15:09 ` ville.syrjala [this message]
2017-03-15 15:15 ` [PATCH dim v2 " Chris Wilson
2017-03-16 7:40 ` Jani Nikula
2017-03-16 9:49 ` Ville Syrjälä
2017-03-16 13:33 ` Jani Nikula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170315150904.3374-1-ville.syrjala@linux.intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.