diff options
author | Øystein Walle <oystwa@gmail.com> | 2023-04-07 19:53:16 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-04-13 17:07:45 +0200 |
commit | aabfdc9514a51d8d9a2f3afbc29e5044ccf7191b (patch) | |
tree | ce139c4fbbe04454b87b128865b2047f8ae5070f /t/t7004-tag.sh | |
parent | Git 2.40 (diff) | |
download | git-aabfdc9514a51d8d9a2f3afbc29e5044ccf7191b.tar.xz git-aabfdc9514a51d8d9a2f3afbc29e5044ccf7191b.zip |
branch, for-each-ref, tag: add option to omit empty lines
If the given format string expands to the empty string, a newline is
still printed. This makes using the output linewise more tedious. For
example, git update-ref --stdin does not accept empty lines.
Add options to "git branch", "git for-each-ref", and "git tag" to
not print these empty lines. The default behavior remains the same.
Signed-off-by: Øystein Walle <oystwa@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7004-tag.sh')
-rwxr-xr-x | t/t7004-tag.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 9aa1660651..6493583110 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -2001,6 +2001,22 @@ test_expect_success '--format should list tags as per format given' ' test_cmp expect actual ' +test_expect_success '--format --omit-empty works' ' + cat >expect <<-\EOF && + refname : refs/tags/v1.0 + + refname : refs/tags/v1.1.3 + EOF + git tag -l --format="%(if:notequals=refs/tags/v1.0.1)%(refname)%(then)refname : %(refname)%(end)" "v1*" >actual && + test_cmp expect actual && + cat >expect <<-\EOF && + refname : refs/tags/v1.0 + refname : refs/tags/v1.1.3 + EOF + git tag -l --omit-empty --format="%(if:notequals=refs/tags/v1.0.1)%(refname)%(then)refname : %(refname)%(end)" "v1*" >actual && + test_cmp expect actual +' + test_expect_success 'git tag -l with --format="%(rest)" must fail' ' test_must_fail git tag -l --format="%(rest)" "v1*" ' |