Thread (2 messages) flat view 2 messages, 2 authors, 2017-08-09

Re: [PATCH 2/2] filter-branch: Handle rewritting (very) old style tags which lack tagger

From: Ian Campbell <hidden>
Date: 2017-08-09 07:43:25

On Tue, 2017-08-08 at 14:00 -0700, Junio C Hamano wrote:
quoted
@@ -540,6 +540,9 @@ if [ "$filter_tag_name" ]; then
quoted
 			new_sha1=$( ( printf 'object %s\ntype commit\ntag %s\n' \
 						"$new_sha1" "$new_ref"
 				git cat-file tag "$ref" |
quoted
+				awk '/^tagger/	{ tagged=1 }
quoted
+				     /^$/	{ if (!tagged && !done) { print "tagger Unknown [off-list ref] 0 +0000" } ; done=1 }
+				     //		{ print }' |
 				sed -n \
 				    -e '1,/^$/{
 					  /^object /d
What the change wants to do makes perfect sense, but piping output
from awk into sed looks somewhat gross.  Perhaps we'd want to roll
what the existing sed script is trying to do into this new awk
script?
I'm far from an awk guru but I think (unit tested in isolation only)
that such script would look something like (I also inverted/renamed
done into header since it seemed clearer):

    BEGIN    	    	    	    	    	    { header=1 }
    /^tagger /    	    	    	    	    { tagged=1 }
    /^$/    	    	    	    	    	    { if (!tagged && header) { print "tagger Unknown <    unknown@example.com    > 0 +0000" } ; header=0 }

    /^-----BEGIN PGP SIGNATURE-----/    	    { exit(0) }

    //    	    	    	    	    	    { if (!header || $0 !~ /^(object|type|tag )/) { print } }

    Ian.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help