[arch-projects] [devtools] [PATCH] commitpkg: Fix leading whitespace in commit messages

Lukas Fleischer archlinux at cryptocrack.de
Mon Aug 15 09:33:28 EDT 2011


On Mon, Aug 15, 2011 at 03:27:27PM +0200, Lukas Fleischer wrote:
> On Mon, Aug 15, 2011 at 03:12:45PM +0200, Pierre Schmitz wrote:
> > On Mon, 15 Aug 2011 09:47:16 +0200, Lukas Fleischer wrote:
> > > Commit c51cc8d365fad3be529776e9dce34ac115664451 erroneously introduced a
> > > tab character that is prepended to the body of each commit message. Fix
> > > this by using C-style newline escape sequences which will avoid further
> > > whitespace issues caused by re-indentation of code at this point.
> > > 
> > > Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
> > > ---
> > >  commitpkg |    4 +---
> > >  1 files changed, 1 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/commitpkg b/commitpkg
> > > index 4d5054b..bdc1fd6 100755
> > > --- a/commitpkg
> > > +++ b/commitpkg
> > > @@ -110,9 +110,7 @@ fi
> > >  
> > >  if [ -n "$(svn status -q)" ]; then
> > >  	echo -n 'committing changes to trunk...'
> > > -	msgtemplate="upgpkg: $pkgbase $(get_full_version ${epoch:-0}
> > > $pkgver $pkgrel)
> > > -
> > > -	"
> > > +	msgtemplate="upgpkg: $pkgbase $(get_full_version ${epoch:-0}
> > > $pkgver $pkgrel)"$'\n\n'
> > >  	if [ -n "$1" ]; then
> > >  		svn commit -q -m "${msgtemplate}${1}" || abort
> > >  	else
> > 
> > Good catch. But does this work for you? E.g. the following coe wont
> > work for me:
> 
> Yes, I tested the patch.
> 
> > 
> > test="foo"$'\n\n'
> > echo $test
> 
> bash's echo builtin splits arguments by spaces and it does parse each
> line as separate argument if you don't use quotes here. `echo "$test"`
> should work fine.

Sorry, bad wording here. What I wanted to say is that bash's echo
builtin prints arguments separated by spaces. Quoting bash(1):

    Output  the  args,  separated  by spaces, followed by a newline.

Just use proper quoting (which we already do in commitpkg though, I just
double-checked).

> 
> > 
> > But this does work:
> > 
> > echo "foo"$'\n\n'


More information about the arch-projects mailing list