On wo, 2016-03-30 at 15:09 +0530, Karthik Nayak wrote: > > This is part of unification of the commands 'git tag -l, git branch -l > and git for-each-ref'. This ports over branch.c to use ref-filter's > printing options. > > Initially posted here: $(gmane/279226). It was decided that this series > would follow up after refactoring ref-filter parsing mechanism, which > is now merged into master (9606218b32344c5c756f7c29349d3845ef60b80c). Interaction between this series and something I've not yet been able to identify seems to break t6302. In f08f64b (the merge commit that merges this with pu), that test fails. But neither of its parents show the same failure. Full log of a failing 'make && make test': https://ci.kaarsemaker.net/git/refs/heads/pu/718c0b31e51ab07181954fb5147e3283793553f4/artefact/test/log Verbose output of the failing test: expecting success: git for-each-ref --format="%(if)%(authorname)%(then)%(authorname): %(refname)%(end)" >actual && cat >expect <<-\EOF && A U Thor: refs/heads/master A U Thor: refs/heads/side A U Thor: refs/odd/spot A U Thor: refs/tags/foo1.10 A U Thor: refs/tags/foo1.3 A U Thor: refs/tags/foo1.6 A U Thor: refs/tags/four A U Thor: refs/tags/one A U Thor: refs/tags/three A U Thor: refs/tags/two EOF test_cmp expect actual --- expect 2016-04-01 13:28:14.157855026 +0000 +++ actual 2016-04-01 13:28:14.153855026 +0000 @@ -2,6 +2,8 @@ A U Thor: refs/heads/side A U Thor: refs/odd/spot + + A U Thor: refs/tags/foo1.10 A U Thor: refs/tags/foo1.3 A U Thor: refs/tags/foo1.6 not ok 34 - check %(if)...%(then)...%(end) atoms # # git for-each-ref --format="%(if)%(authorname)%(then)%(authorname): %(refname)%(end)" >actual && # cat >expect <<-\EOF && # A U Thor: refs/heads/master # A U Thor: refs/heads/side # A U Thor: refs/odd/spot # # A U Thor: refs/tags/foo1.10 # A U Thor: refs/tags/foo1.3 # A U Thor: refs/tags/foo1.6 # A U Thor: refs/tags/four # A U Thor: refs/tags/one # # A U Thor: refs/tags/three # A U Thor: refs/tags/two # EOF # test_cmp expect actual # expecting success: git for-each-ref --format="%(if)%(authorname)%(then)%(authorname)%(else)No author%(end): %(refname)" >actual && cat >expect <<-\EOF && A U Thor: refs/heads/master A U Thor: refs/heads/side A U Thor: refs/odd/spot No author: refs/tags/double-tag A U Thor: refs/tags/foo1.10 A U Thor: refs/tags/foo1.3 A U Thor: refs/tags/foo1.6 A U Thor: refs/tags/four A U Thor: refs/tags/one No author: refs/tags/signed-tag A U Thor: refs/tags/three A U Thor: refs/tags/two EOF test_cmp expect actual --- expect 2016-04-01 13:28:14.161855026 +0000 +++ actual 2016-04-01 13:28:14.161855026 +0000 @@ -1,7 +1,9 @@ A U Thor: refs/heads/master A U Thor: refs/heads/side A U Thor: refs/odd/spot -No author: refs/tags/double-tag +No author: refs/tags/annotated-tag +No author: refs/tags/doubly-annotated-tag +No author: refs/tags/doubly-signed-tag A U Thor: refs/tags/foo1.10 A U Thor: refs/tags/foo1.3 A U Thor: refs/tags/foo1.6 not ok 35 - check %(if)...%(then)...%(else)...%(end) atoms # # git for-each-ref --format="%(if)%(authorname)%(then)%(authorname)%(else)No author%(end): %(refname)" >actual && # cat >expect <<-\EOF && # A U Thor: refs/heads/master # A U Thor: refs/heads/side # A U Thor: refs/odd/spot # No author: refs/tags/double-tag # A U Thor: refs/tags/foo1.10 # A U Thor: refs/tags/foo1.3 # A U Thor: refs/tags/foo1.6 # A U Thor: refs/tags/four # A U Thor: refs/tags/one # No author: refs/tags/signed-tag # A U Thor: refs/tags/three # A U Thor: refs/tags/two # EOF # test_cmp expect actual # expecting success: git for-each-ref --format="%(refname:short): %(if)%(HEAD)%(then)Head ref%(else)Not Head ref%(end)" >actual && cat >expect <<-\EOF && master: Head ref side: Not Head ref odd/spot: Not Head ref double-tag: Not Head ref foo1.10: Not Head ref foo1.3: Not Head ref foo1.6: Not Head ref four: Not Head ref one: Not Head ref signed-tag: Not Head ref three: Not Head ref two: Not Head ref EOF test_cmp expect actual --- expect 2016-04-01 13:28:14.165855026 +0000 +++ actual 2016-04-01 13:28:14.165855026 +0000 @@ -1,7 +1,9 @@ master: Head ref side: Not Head ref odd/spot: Not Head ref -double-tag: Not Head ref +annotated-tag: Not Head ref +doubly-annotated-tag: Not Head ref +doubly-signed-tag: Not Head ref foo1.10: Not Head ref foo1.3: Not Head ref foo1.6: Not Head ref not ok 36 - ignore spaces in %(if) atom usage # # git for-each-ref --format="%(refname:short): %(if)%(HEAD)%(then)Head ref%(else)Not Head ref%(end)" >actual && # cat >expect <<-\EOF && # master: Head ref # side: Not Head ref # odd/spot: Not Head ref # double-tag: Not Head ref # foo1.10: Not Head ref # foo1.3: Not Head ref # foo1.6: Not Head ref # four: Not Head ref # one: Not Head ref # signed-tag: Not Head ref # three: Not Head ref # two: Not Head ref # EOF # test_cmp expect actual # # failed 3 among 38 test(s) 1..38 -- Dennis Kaarsemaker www.kaarsemaker.net -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html