Teach "git stripspace" the --strip-comments option

With --strip-comments (or short -s), git stripspace now removes lines
beginning with a '#', too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2007-07-23 12:58:27 +01:00 committed by Junio C Hamano
parent 2ae68fcb78
commit f653aee5a3
3 changed files with 15 additions and 2 deletions

View File

@ -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.

View File

@ -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);

View File

@ -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