intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [maintainer-tools PATCH] dim: Properly handle series on apply_branch
@ 2017-08-17 18:09 Rodrigo Vivi
  2017-08-18  7:07 ` Jani Nikula
  0 siblings, 1 reply; 12+ messages in thread
From: Rodrigo Vivi @ 2017-08-17 18:09 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Daniel Vetter, Rodrigo Vivi

So far we could use *dim* to apply a whole series
in a mbox, but only the very last patch was receiving
all the checks and patchwork link.

So this patch remove this limitation by using git mailsplit
to split the mbox and than use git am and checks individually
on each patch.

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 dim | 45 +++++++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 20 deletions(-)

diff --git a/dim b/dim
index 11aa675cc3bc..5457006631d6 100755
--- a/dim
+++ b/dim
@@ -767,38 +767,43 @@ function dim_apply_branch
 	branch=${1:?$usage}
 	shift
 	file=$(mktemp)
+	dir=$(mktemp -d)
 
 	assert_branch $branch
 	assert_repo_clean
 
+	committer_email=$(git_committer_email)
+
 	cat > $file
+	git mailsplit -o$dir $file > /dev/null
 
-	message_id=$(message_get_id $file)
+	for patch in `ls $dir`; do
 
-	committer_email=$(git_committer_email)
+		message_id=$(message_get_id $dir/$patch)
 
-	patch_from=$(grep "From:" "$file" | head -1)
-	if [[ "$patch_from" != *"$committer_email"* ]] ; then
-		sob=-s
-	fi
+		patch_from=$(grep "From:" "$dir/$patch" | head -1)
+		if [[ "$patch_from" != *"$committer_email"* ]] ; then
+			sob=-s
+		fi
 
-	git am --scissors -3 $sob "$@" $file
+		git am --scissors -3 $sob "$@" $dir/$patch
 
-	if [ -n "$message_id" ]; then
-		dim_commit_add_tag "Link: https://patchwork.freedesktop.org/patch/msgid/$message_id"
-	else
-		echoerr "WARNING: No message-id found in the patch file."
-		rv=1
-	fi
+		if [ -n "$message_id" ]; then
+			dim_commit_add_tag "Link: https://patchwork.freedesktop.org/patch/msgid/$message_id"
+		else
+			echoerr "WARNING: No message-id found in the patch file."
+			rv=1
+		fi
 
-	if ! checkpatch_commit HEAD; then
-		rv=1
-	fi
-	if ! check_maintainer $branch HEAD; then
-		rv=1
-	fi
+		if ! checkpatch_commit HEAD; then
+			rv=1
+		fi
+		if ! check_maintainer $branch HEAD; then
+			rv=1
+		fi
 
-	eval $DRY $DIM_POST_APPLY_ACTION
+		eval $DRY $DIM_POST_APPLY_ACTION
+	done
 
 	return $rv
 }
-- 
2.13.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-08-24  7:58 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-17 18:09 [maintainer-tools PATCH] dim: Properly handle series on apply_branch Rodrigo Vivi
2017-08-18  7:07 ` Jani Nikula
2017-08-19  0:05   ` Rodrigo Vivi
2017-08-21  8:01     ` Jani Nikula
2017-08-21 22:10       ` [PATCH] " Rodrigo Vivi
2017-08-22  7:22         ` Jani Nikula
2017-08-22 16:57           ` [maintainer-tools PATCH] " Rodrigo Vivi
2017-08-23  8:54             ` Jani Nikula
2017-08-23  8:58               ` Jani Nikula
2017-08-23 17:29                 ` Rodrigo Vivi
2017-08-24  7:58                   ` Jani Nikula
2017-08-22 16:58           ` [PATCH] " Rodrigo Vivi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).