diff mbox

[maintainer-tools] dim: turn commit-add-tag into a proper dim subcommand

Message ID 1458206129-26613-1-git-send-email-jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jani Nikula March 17, 2016, 9:15 a.m. UTC
This lets you add e.g. review tags to a commit on the command line:

$ dim commit-add-tag "Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>"

This could be used as a building block for further scripting.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 dim | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

Comments

Daniel Vetter March 21, 2016, 9:17 a.m. UTC | #1
On Thu, Mar 17, 2016 at 11:15:29AM +0200, Jani Nikula wrote:
> This lets you add e.g. review tags to a commit on the command line:
> 
> $ dim commit-add-tag "Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>"
> 
> This could be used as a building block for further scripting.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Is the grand plan to add this to dim apply-resolved too? Just realized
again that we don't yet add them ...

Ack.
-Daniel

> ---
>  dim | 19 ++++++++++---------
>  1 file changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/dim b/dim
> index 9c8ae1098977..eda79017be94 100755
> --- a/dim
> +++ b/dim
> @@ -183,15 +183,16 @@ if message_id is not None:
>  EOF
>  }
>  
> -# append a new tag at the end of the commit message of HEAD
> -# $1 = tag, $2 = value
> -commit_add_tag ()
> +# append all arguments as tags at the end of the commit message of HEAD
> +function dim_commit_add_tag
>  {
> -	# the first sed deletes all trailing blank lines at the end
> -	git log -1 --pretty=%B | \
> -		sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' | \
> -		sed "\$a$1: $2" | \
> -		git commit --amend -F-
> +	for arg; do
> +		# the first sed deletes all trailing blank lines at the end
> +		git log -1 --pretty=%B | \
> +			sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' | \
> +			sed "\$a${arg}" | \
> +			git commit --amend -F-
> +	done
>  }
>  
>  function update_linux_next
> @@ -427,7 +428,7 @@ function dim_apply_branch
>  	cat $file | git am -3 $sob "$@"
>  
>  	if [ -n "$message_id" ]; then
> -		commit_add_tag "Link" "http://patchwork.freedesktop.org/patch/msgid/$message_id"
> +		dim_commit_add_tag "Link: http://patchwork.freedesktop.org/patch/msgid/$message_id"
>  	else
>  		echo "No message-id found in the patch file."
>  	fi
> -- 
> 2.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Jani Nikula March 21, 2016, 10:07 a.m. UTC | #2
On Mon, 21 Mar 2016, Daniel Vetter <daniel@ffwll.ch> wrote:
> [ text/plain ]
> On Thu, Mar 17, 2016 at 11:15:29AM +0200, Jani Nikula wrote:
>> This lets you add e.g. review tags to a commit on the command line:
>> 
>> $ dim commit-add-tag "Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>"
>> 
>> This could be used as a building block for further scripting.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Is the grand plan to add this to dim apply-resolved too? Just realized
> again that we don't yet add them ...

I didn't really have a grand plan, and I've never used apply-resolved...

Anyway, it's kind of tricky because at that point we've already lost the
message-id.

BR,
Jani.

>
> Ack.
> -Daniel
>
>> ---
>>  dim | 19 ++++++++++---------
>>  1 file changed, 10 insertions(+), 9 deletions(-)
>> 
>> diff --git a/dim b/dim
>> index 9c8ae1098977..eda79017be94 100755
>> --- a/dim
>> +++ b/dim
>> @@ -183,15 +183,16 @@ if message_id is not None:
>>  EOF
>>  }
>>  
>> -# append a new tag at the end of the commit message of HEAD
>> -# $1 = tag, $2 = value
>> -commit_add_tag ()
>> +# append all arguments as tags at the end of the commit message of HEAD
>> +function dim_commit_add_tag
>>  {
>> -	# the first sed deletes all trailing blank lines at the end
>> -	git log -1 --pretty=%B | \
>> -		sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' | \
>> -		sed "\$a$1: $2" | \
>> -		git commit --amend -F-
>> +	for arg; do
>> +		# the first sed deletes all trailing blank lines at the end
>> +		git log -1 --pretty=%B | \
>> +			sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' | \
>> +			sed "\$a${arg}" | \
>> +			git commit --amend -F-
>> +	done
>>  }
>>  
>>  function update_linux_next
>> @@ -427,7 +428,7 @@ function dim_apply_branch
>>  	cat $file | git am -3 $sob "$@"
>>  
>>  	if [ -n "$message_id" ]; then
>> -		commit_add_tag "Link" "http://patchwork.freedesktop.org/patch/msgid/$message_id"
>> +		dim_commit_add_tag "Link: http://patchwork.freedesktop.org/patch/msgid/$message_id"
>>  	else
>>  		echo "No message-id found in the patch file."
>>  	fi
>> -- 
>> 2.1.4
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/dim b/dim
index 9c8ae1098977..eda79017be94 100755
--- a/dim
+++ b/dim
@@ -183,15 +183,16 @@  if message_id is not None:
 EOF
 }
 
-# append a new tag at the end of the commit message of HEAD
-# $1 = tag, $2 = value
-commit_add_tag ()
+# append all arguments as tags at the end of the commit message of HEAD
+function dim_commit_add_tag
 {
-	# the first sed deletes all trailing blank lines at the end
-	git log -1 --pretty=%B | \
-		sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' | \
-		sed "\$a$1: $2" | \
-		git commit --amend -F-
+	for arg; do
+		# the first sed deletes all trailing blank lines at the end
+		git log -1 --pretty=%B | \
+			sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' | \
+			sed "\$a${arg}" | \
+			git commit --amend -F-
+	done
 }
 
 function update_linux_next
@@ -427,7 +428,7 @@  function dim_apply_branch
 	cat $file | git am -3 $sob "$@"
 
 	if [ -n "$message_id" ]; then
-		commit_add_tag "Link" "http://patchwork.freedesktop.org/patch/msgid/$message_id"
+		dim_commit_add_tag "Link: http://patchwork.freedesktop.org/patch/msgid/$message_id"
 	else
 		echo "No message-id found in the patch file."
 	fi