Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Shell script cleanups/style changes?

From: David Kastrup <hidden>
Date: 2016-06-15 22:43:25

Junio C Hamano [off-list ref] writes:
David Kastrup [off-list ref] writes:
quoted
Understood.  But using ${...#...} and ${...:+...} does not exactly
seem to be news in the git code base.  Even though we have the
claim that Solaris' sh won't deal with the former.
I do not think we have trouble with ${parameter#word}.  Much less
with ${parameter+word}; it has been in /bin/sh forever.
Basically this should mean that the proposed cleanups (apart from a
forgotten shift I had to add) are tenable.

Given that another poster claimed that Solaris /bin/sh does not
support ${parameter#word}, making the suggested changes to git-commit
might actually be a good idea: ${parameter#word} is used in half a
dozen other (likely less used) utilities in various other places.  If
this is an overlooked regression, we want to make it non-overlookable
while we are still in testing, and git-commit would appear to be the
perfect candidate for that...

Depending on the feedback, we can either replace _all_ uses
everywhere, or accept it for good.

While I would think it perfectly understandable if you wanted to avoid
making an infamous "breaks all of Solaris release", _if_ ${...#...}
would indeed be fishy (and I somewhat doubt it), we are already there.
I have this cleaned-up version of git-commit.sh on a computer I can't
access right now.  I'll post the patch tomorrow.  Whether you want to
apply it to git.git remains at your discretion.  I would, however,
strongly urge Solaris and potentially other POSIXly impaired users to
aplly and test this patch: if it breaks (and it will do so pretty
obviously, pretty much being unable to parse any option), then this is
_quite_ alarming with regard to existing uses of ${...#...} and would
need to get addressed _very_ soon.

Frankly, I doubt that this would have escaped notice so far, however.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help