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