Bryan this was from you - please comment/fix. Sam On Sat, Feb 02, 2008 at 10:25:51PM +0100, Frans Pop wrote: > Sam Ravnborg wrote: > > --- a/scripts/setlocalversion > > +++ b/scripts/setlocalversion > > @@ -45,3 +45,18 @@ if hgid=`hg id 2>/dev/null`; then > > # All done with mercurial > > exit > > fi > > + > > +# Check for svn and a svn repo. > > +if rev=`svn info 2>/dev/null | grep '^Revision' | awk '{print $NF}'` ; then > > + changes=`svn status 2>/dev/null | grep '^[AMD]' | wc -l` > > + > > + # Are there uncommitted changes? > > + if [ $changes != 0 ]; then > > + printf -- '-svn%s%s%s' "$rev" -dirty "$changes" > > + else > > + printf -- '-svn%s' "$rev" > > + fi > > + > > + # All done with svn > > + exit > > +fi > > This looks broken. Unless I'm very much mistaken the 'if' statement is > always going to be true because the awk statement will always execute > without error. Try: echo "" | awk '{print $NF}' || echo Error > > So, the code should probably be changed to: > +if rev=`svn info 2>/dev/null | grep '^Revision' ; then > + rev=`echo $rev | awk '{print $NF}'` > + changes=`svn status 2>/dev/null | grep '^[AMD]' | wc -l` > > or alternatively: > +if rev=`svn info 2>/dev/null | grep '^Revision' | awk '{print $NF}'` && \ > + [ -n "$rev" ] ; then > + changes=`svn status 2>/dev/null | grep '^[AMD]' | wc -l` > > Cheers, > FJP > > P.S. Looks like the mercurial section is missing some indentation. - To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html