On Fri, May 08, 2015 at 04:55:48PM -0400, Jeff King wrote: > > Does this work if you did > > > > OUT=$( ( (large_git ; echo $? 1>&3) | : ) 3>&2 ) && > > > > instead? > > It does for me. I've tested our suite with mksh before, and it passed > (that's why the earlier check already covers ksh). But using the ksh I > get from "apt-get install ksh" on Debian (ksh93, it looks like?) fails > as described. The change above prevents the shell from crashing, and > then if we also massage the code, the test passes (i.e., the patch > below). > > I'm on the fence, though, on declaring ksh93 to be unsupported. I don't > know how many other instances of this are in our test suite, and it's > one more maintenance headache to deal with. Are there really platforms > with no actual POSIX shell (on Solaris, for example, the xpg6 shell is a > much better choice)? Hmph. I just ran the whole suite with SHELL_PATH=ksh. There are about 35 failures overall, and they are not all related. For instance, in t4014, it looks like a variable assignment just goes missing (whether it is because it is a one-shot against a function, or because it contains a bunch of utf8 characters, I'm not sure). We might be able to work around that. But some of the other failures leave me quite confused. Here's an oddity I isolated based on a failure in t5502: $ git init foo && cd foo Initialized empty Git repository in /home/peff/foo/.git/ $ (cd .git/objects && ls) info pack OK, makes sense. Now... $ mkdir subdir && cd subdir $ ls ../.git/objects info pack $ cd ../.git/objects ksh: cd: /home/peff/foo/git/objects: [No such file or directory] Um, what? Apparently using "../.foo" will eat the "." off of "foo"? -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html