Thread (59 messages) flat view 59 messages, 8 authors, 2019-02-01

Re: [PATCH v3 1/3] t5323: test cases for git-pack-redundant

From: Torsten Bögershausen <hidden>
Date: 2019-01-10 12:26:25

On 10.01.19 12:57, SZEDER Gábor wrote:
On Thu, Jan 10, 2019 at 11:28:34AM +0800, Jiang Xin wrote:
quoted
SZEDER Gábor [off-list ref] 于2019年1月9日周三 下午8:56写道:
quoted
quoted
+             sed -e "s#^.*/pack-\(.*\)\.\(idx\|pack\)#\1#g" | \
This sed command doesn't seem to work on macOS (on Travis CI), and
causes the test to fail with:
It works if rewrite as follows:

    git pack-redundant --all >out &&
    sed -E -e "s#.*/pack-(.*)\.(idx|pack)#\1#" out | \

Without `-E`, MasOS has to write two seperate sed commands, such as:

    git pack-redundant --all >out &&
    sed -e "s#.*/pack-\(.*\)\.idx#\1#" out | \
    sed -e "s#.*/pack-\(.*\)\.pack#\1#"

Option '-E' is an alias for -r in GNU sed 4.2  (added in 4.2, not documented
unti 4.3), released on May 11 2009.  I prefer the `-E` version.
Is 'sed -E' portable enough, e.g. to the various BSDs, Solaris, and
whatnot?  I don't know, but POSIX doesn't mention it, there is not a
single instance of it in our current codebase, and it appears that
we've never used it before, either.  OTOH,
If we can use "two seperate sed commands" i would (really) prefer to so,
to avoid "sed -E".
My conclusion is that it is not portable enough.
't/check-non-portable-shell.pl' doesn't catch it as non-portable
construct...
Good point.
Actually that script only checks "known non-portable" options.
Every time somebody finds a non-portable option, we update it.
A growing blacklist, so to say.
May be we should have a white list instead.


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help