Subject: Re: [PATCH v2] mergetool: use more conservative temporary filenames

From: Junio C Hamano <[email-masked]>
Date: Fri, 10 Oct 2014 14:16:43 -0700

Jakub Narębski <[email-masked]> writes:

> Why use expr and not POSIX shell parameter substitution?
>
> BASE=${MERGED%.*}
> ext=.${MERGED##*.}
>
> Or something like that...

Because they are insufficient.  See David's illustrations for how.

Parameter expansion (e.g. ${parameter%word}) is fine for the
simplest cases (e.g. you know there is .c suffix to the $string and
want to strip it out) but not sufficient for other cases (e.g. you
may not even know if there is any suffix).  You can deconstruct your
regexps manually and use conditional if/else/fi if you are unable to
use expr, but I do not see how it buys us anything.