[PATCH] Teach "git stripspace" the --strip-comments option
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:23
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
With --strip-comments (or short -s), git stripspace now removes lines beginning with a '#', too. Signed-off-by: Johannes Schindelin <redacted> --- Documentation/git-stripspace.txt | 5 ++++- builtin-stripspace.c | 7 ++++++- t/t0030-stripspace.sh | 5 +++++ 3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-stripspace.txt b/Documentation/git-stripspace.txt
index 1306d7b..5212358 100644
--- a/Documentation/git-stripspace.txt
+++ b/Documentation/git-stripspace.txt@@ -8,7 +8,7 @@ git-stripspace - Filter out empty lines SYNOPSIS -------- -'git-stripspace' < <stream> +'git-stripspace' [-s | --strip-comments] < <stream> DESCRIPTION -----------
@@ -16,6 +16,9 @@ Remove multiple empty lines, and empty lines at beginning and end. OPTIONS ------- +-s\|--strip-comments:: + In addition to empty lines, also strip lines starting with '#'. + <stream>:: Byte stream to act on.
diff --git a/builtin-stripspace.c b/builtin-stripspace.c
index 5571687..916355c 100644
--- a/builtin-stripspace.c
+++ b/builtin-stripspace.c@@ -76,6 +76,11 @@ int cmd_stripspace(int argc, const char **argv, const char *prefix) { char *buffer; unsigned long size; + int strip_comments = 0; + + if (argc > 1 && (!strcmp(argv[1], "-s") || + !strcmp(argv[1], "--strip-comments"))) + strip_comments = 1; size = 1024; buffer = xmalloc(size);
@@ -84,7 +89,7 @@ int cmd_stripspace(int argc, const char **argv, const char *prefix) die("could not read the input"); } - size = stripspace(buffer, size, 0); + size = stripspace(buffer, size, strip_comments); write_or_die(1, buffer, size); if (size) putc('\n', stdout);
diff --git a/t/t0030-stripspace.sh b/t/t0030-stripspace.sh
index b1c9003..cad95f3 100755
--- a/t/t0030-stripspace.sh
+++ b/t/t0030-stripspace.sh@@ -392,4 +392,9 @@ test_expect_success \ git diff expect actual ' +test_expect_success 'strip comments, too' ' + test ! -z "$(echo "# comment" | git stripspace)" && + test -z "$(echo "# comment" | git stripspace -s)" +' + test_done
--
1.5.3.rc2.32.g35c5b