git-stripspace(1)
=================

NAME
----
git-stripspace - Remove unnecessary whitespace


SYNOPSIS
--------
[verse]
'git stripspace' [-s | --strip-comments] < input
'git stripspace' [-c | --comment-lines] < input

DESCRIPTION
-----------

Clean the input in the manner used by Git for text such as commit
messages, notes, tags and branch descriptions.

With no arguments, this will:

- remove trailing whitespace from all lines
- collapse multiple consecutive empty lines into one empty line
- remove empty lines from the beginning and end of the input
- add a missing '\n' to the last line if necessary.

In the case where the input consists entirely of whitespace characters, no
output will be produced.

*NOTE*: This is intended for cleaning metadata, prefer the `--whitespace=fix`
mode of linkgit:git-apply[1] for correcting whitespace of patches or files in
the repository.

OPTIONS
-------
-s::
--strip-comments::
	Skip and remove all lines starting with comment character (default '#').

-c::
--comment-lines::
	Prepend comment character and blank to each line. Lines will automatically
	be terminated with a newline. On empty lines, only the comment character
	will be prepended.

EXAMPLES
--------

Given the following noisy input with '$' indicating the end of a line:

---------
|A brief introduction   $
|   $
|$
|A new paragraph$
|# with a commented-out line    $
|explaining lots of stuff.$
|$
|# An old paragraph, also commented-out. $
|      $
|The end.$
|  $
---------

Use 'git stripspace' with no arguments to obtain:

---------
|A brief introduction$
|$
|A new paragraph$
|# with a commented-out line$
|explaining lots of stuff.$
|$
|# An old paragraph, also commented-out.$
|$
|The end.$
---------

Use 'git stripspace --strip-comments' to obtain:

---------
|A brief introduction$
|$
|A new paragraph$
|explaining lots of stuff.$
|$
|The end.$
---------

GIT
---
Part of the linkgit:git[1] suite
