[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Advice for Interix and to specify users
From: |
Mark D. Baushke |
Subject: |
Re: Advice for Interix and to specify users |
Date: |
Tue, 22 Apr 2008 10:27:01 -0700 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Jerker,
Jerker Bäck <jerker.back@gmail.com> writes:
> Alright, I found the bug.
> The test fails when it tries to open the directory for the actual file (I
> think).
>
> /tmp/cvs-sanity/cvsrootdir/123456789012345678901234567890/123456789012345678
> 901234567890/123456789012345678901234567890/123456789012345678901234567890/1
> 23456789012345678901234567890/123456789012345678901234567890/123456789012345
> 678901234567890/123456789012345678901234567890/12345678901234567890123456789
> 0/123456789012345678901234567890/file1,v
>
> rcs.c (2055)
> *pfp = CVS_FOPEN (rcs->path, FOPEN_BINARY_READ);
> *pfp is NULL and errno is set to ENOENT (no such file or dir).
>
> rcs->path contains the directory path only. Is that as intended?
>
> fopen is right, there is no such directory visible. However, the symlink
> "/tmp/cvs-sanity/cvsrootdir/second-dir/fileX,v" works and the real file (as
> above) exists.
>
> Hm ... I agree, sounds strange but that's how it is. I've seen this
> behaviour before created by cvs (but even ftp and some other unix utilities)
> both in Interix and CygWin. It is just not possible navigate to this
> directory. We managed to create a file system error somehow. Actually, I
> would say quite serious bug no matter whose fault it is.
Yes, so it seems.
> Do CygWin pass the tests?
I was under the impression they did, but I have never used it and I do
not have access to any Windows based operating system at the present
time.
> One possible reason could be that cvs ultimately are using ASCII/ANSI
> versions of the system API file I/O functions. Since Windows NT is UNICODE
> based, these functions are limited in e.g. buffer sizes. For complicated
> things the real functions are a much better choice, but of course completely
> unportable.
>
> I need help. Where, when and how is this directory created?
The directory is created earlier in the rcslib test of sanity.sh
# CVS has a hard-coded default link path size of 127 characters.
# Make sure it knows how to exceed that.
longpath=$CVSROOT_DIRNAME
count=0
while test $count -lt 10; do
count=`expr $count + 1`
longpath=$longpath/123456789012345678901234567890
mkdir $longpath
done
cp $CVSROOT_DIRNAME/first-dir/file1,v $longpath
ln -s $longpath/file1,v $CVSROOT_DIRNAME/second-dir/fileX,v
The rcs->path should be the full pathname of the $longpath/file1,v
symbolic link read when the $CVSROOT_DIRNAME/second-dir/fileX,v file was
opened.
-- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)
iD8DBQFIDh/lCg7APGsDnFERAm7jAKDMjgQjcuZ8gqksoBN00gcG7CQBAgCggSIc
3ueO8wlCha85UoSTJwWFAww=
=XFH4
-----END PGP SIGNATURE-----
- Advice for Interix and to specify users, Jerker Bäck, 2008/04/20
- RE: Advice for Interix and to specify users, Jerker Bäck, 2008/04/21
- Re: Advice for Interix and to specify users, Mark D. Baushke, 2008/04/21
- Re: Advice for Interix and to specify users, Mark D. Baushke, 2008/04/21
- RE: Advice for Interix and to specify users, Jerker Bäck, 2008/04/21
- Re: Advice for Interix and to specify users, Mark D. Baushke, 2008/04/21
- RE: Advice for Interix and to specify users, Jerker Bäck, 2008/04/22
- Re: Advice for Interix and to specify users,
Mark D. Baushke <=
- RE: Advice for Interix and to specify users, Jerker Bäck, 2008/04/22
- RE: Advice for Interix and to specify users, Jerker Bäck, 2008/04/23
- RE: Advice for Interix and to specify users, Jerker Bäck, 2008/04/23