Subject: Re: t0005-signals.sh fails with ksh

From: evgeny <[email-masked]>
Date: Sat, 9 May 2015 02:43:00 +0300

Hi,
just for information about ksh on Linux and OpenIndiana

           ksh93 on Debian GNU/Linux 7 (wheezy)

$ ksh --version
  version         sh (AT&T Research) 93u+ 2012-02-29

$ git init foo && cd foo
Initialized empty Git repository in /var/tmp/foo/.git/
$ (cd .git/objects && ls)
info  pack
$ mkdir subdir && cd subdir
$ ls ../.git/objects
info  pack
$ cd ../.git/objects
/bin/ksh93: cd: /var/tmp/foo/git/objects: [No such file or directory]

           ksh93 on OpenIndiana oi_151.1.9 X86

$ ksh --version
  version         sh (AT&T Research) 93t+ 2010-03-05

$ pwd
/var/tmp
$ git init foo && cd foo
Initialized empty Git repository in /var/tmp/foo/.git/
$ (cd .git/objects && ls)
info  pack
$ mkdir subdir && cd subdir
$ ls ../.git/objects
info  pack
$ cd ../.git/objects
$ pwd
/var/tmp/foo/.git/objects

Looks like older version (or Solaris version?) of ksh did not have this bug.

Saturday, May 9, 2015, 12:39:32 AM, you wrote:

> Jeff King <[email-masked]> writes:

>> 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"?

> That is fun.  And doing

>     $ mkdir -p git/objects

> just before you create and chdir into subdir does tell me that the
> last "cd ../.git/objects" is turned into "cd ../git/objects".

> Actually, with that extra thing, changing the last one to

>     $ cd ../..git/objects

> still takes me to ../git/objects, it seems.  But lookie here:

>     $ cd ../.....git/objects
>     ksh: cd: /var/tmp/x/ksh/...git/objects: [No such file or directory]

> WAT.

> I am tempted to say that we should write it off as utterly broken.

-- 
Best regards,
 evgeny                            mailto:[email-masked]