"Christopher Faylor" <cgf-use-the-mailinglist-ple...@cygwin.com> wrote in message news:20090529183702.ga28...@ednor.casa.cgf.cx... > On Fri, May 29, 2009 at 09:39:23AM -0700, jpa wrote: >>"Christopher Faylor" wrote: >>>On Wed, May 27, 2009 at 05:11:55PM -0700, jpa wrote: >>>># Create long directory path fails (255 a's/255 b's mkdir -p /tmp/[SNIP >>>>long dir name]> >>>Thanks for the test case. This should be fixed in the next snapshot >>>which is building now. I'll be in bed before it finishes but if there >>>are problems uploading it I'll restart it tomorrow. >>> >>>http://cygwin.com/snapshots/ >>> >>>Btw, the second set of "b"'s isn't necessary. A single b would trigger >>>the problem. >> >>Thank you. This problem has been fixed with the 5-28-2009 snapshot. >>Unfortunately I now have a different but probably related problem. I >>am unable to create a file or directory with a period as the first >>character. >> >>mkdir .test returns "/bin/mkdir: cannot create directory `.test': No >>such file or directory" > > l:\>bash > bash-3.2$ cd /tmp > bash-3.2$ mkdir .test > bash-3.2$ exit > exit > >>However this only happens in my cwrsync installation which uses cygwin. >>Rolling back to 1.7.0-48 allows periods at the beginning. In my test >>install >>of cygwin on a WinXP box I can't trigger the error. > > Sorry but I don't care about cwrsync. If you can generate a test case > for a bona fide Cygwin installation, I'll investigate. > > FWIW, it is hard to believe that the change I made for this would affect > files beginning with dots in any way. > > cgf >
Thanks for testing. I can't tell what's different about my cwrsync config so I strace'd a test mkdir with a period using a 1.7.0-48 and snapshot cygwin dll and looked for differences. I found several differences where a \ was at the end of some lines where it wasn't in the successfull pass. I've reduced the strace from an unsuccessful run to this: mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program Files\ICW\Bin\, no-keep-rel, add-slash) normalize_win32_path: C:\Program Files\ICW\Bin\ = normalize_win32_path (C:\Program Files\ICW\Bin\) mount_info::conv_to_posix_path: /Bin/ = conv_to_posix_path (C:\Program Files\ICW\Bin\) cwdstuff::get: posix /Bin/ cwdstuff::get: (/Bin/) = cwdstuff::get (0xA701A0, 32768, 1, 0), errno 0 normalize_posix_path: /Bin//.test = normalize_posix_path (.test) mount_info::conv_to_win32_path: conv_to_win32_path (/Bin//.test) set_flags: flags: binary (0x2) mount_info::conv_to_win32_path: src_path /Bin//.test, dst C:\Program Files\ICW\Bin\\.test, flags 0x3000A, rc 0 __set_errno: save_errno::~save_errno():47 val 0 __set_errno: save_errno::~save_errno():47 val 0 symlink_info::check: 0xC0000033 = NtQueryInformationFile (\??\C:\Program Files\ICW\Bin\\.test) symlink_info::check: not a symlink symlink_info::check: 0 = symlink.check (C:\Program Files\ICW\Bin\\.test, 0x223848) (0x3000A) mount_info::conv_to_win32_path: conv_to_win32_path (/Bin/) Where a successful run produces this: mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program Files\ICW\Bin, no-keep-rel, no-add-slash) normalize_win32_path: C:\Program Files\ICW\Bin = normalize_win32_path (C:\Program Files\ICW\Bin) mount_info::conv_to_posix_path: /Bin = conv_to_posix_path (C:\Program Files\ICW\Bin) cwdstuff::get: posix /Bin cwdstuff::get: (/Bin) = cwdstuff::get (0xA701A0, 32768, 1, 0), errno 0 normalize_posix_path: /Bin/.test = normalize_posix_path (.test) mount_info::conv_to_win32_path: conv_to_win32_path (/Bin/.test) set_flags: flags: binary (0x2) mount_info::conv_to_win32_path: src_path /Bin/.test, dst C:\Program Files\ICW\Bin\.test, flags 0x3000A, rc 0 __set_errno: save_errno::~save_errno():47 val 0 __set_errno: save_errno::~save_errno():47 val 0 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\C:\Program Files\ICW\Bin\.test) __set_errno: save_errno::~save_errno():47 val 0 __set_errno: save_errno::~save_errno():47 val 0 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\C:\Program Files\ICW\Bin\.test.lnk) symlink_info::check: 0 = symlink.check (C:\Program Files\ICW\Bin\.test, 0x223848) (0x3000A) -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/