Re: [PATCH 2/3] rebase-i: slight internal improvements
- From
Stephan Beyer <s-beyer@gmx.net>
- Date
- Jun 20, 2008, 08:01 UTC
- Message-ID
- <20080620080153.GC7369@leksak.fem-net>
- In-Reply-To
- <485B595B.80608@viscovery.net>
Hi,
On Fri, Jun 20, 2008 at 09:16:43AM +0200, Johannes Sixt wrote:
Show 22 quoted lines
> If by "other slight improvements" you mean ...
>
> > mark_action_done () {
> > - sed -e 1q < "$TODO" >> "$DONE"
> > - sed -e 1d < "$TODO" >> "$TODO".new
> > - mv -f "$TODO".new "$TODO"
> > - count=$(grep -c '^[^#]' < "$DONE")
> > - total=$(($count+$(grep -c '^[^#]' < "$TODO")))
> > + sed -e 1q "$TODO" >>"$DONE"
> > + sed -e 1d "$TODO" >>"$TODO.new"
> > + mv -f "$TODO.new" "$TODO"
> > + count="$(grep -c '^[^#]' "$DONE")"
> > + total="$(expr "$count" + "$(grep -c '^[^#]' "$TODO")")"
>
> ... this ...
>
> > has_action () {
> > - grep '^[^#]' "$1" >/dev/null
> > + grep -q '^[^#]' "$1"
>
> ... and this, etc, then they are not improvements. They make the script
> less portable:Ok, great to know.
> There are 'grep's that don't have -q,
Well, it's always a little hard to say what is understood by most of the implementations. POSIX says, there is grep -q and a few git test scripts and the Makefile uses it, too.
Ok, so I've looked for a list "the least common denominator of shell commands you can use to be portable" on the net and found the GNU Autoconf documentation: http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_node/autoconf_123.html Looks like *portable* shell programming is no fun :\
> others write the file name in front of the count,
I did not really change anything that's related to the count, btw.
Regards, Stephan
-- Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F