-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 "cvs up -P" dies a horrible death when trying to update a hierachy where a directory exists in the upstream repository, but contains no files so that the directory has been pruned on the local checkout. This happens only when I access my local checkout on a Win98 machine via remote access driven by XP (in other words, running the same command locally on the Win98 has no problems, it is only the remote network access failing):
$ uname -a CYGWIN_NT-5.1 LOUNGE 1.5.19(0.150/4/2) 2006-01-16 15:01 i686 Cygwin $ cd win98/coreutils $ cvs up -dP M Makefile.in cvs [update aborted]: could not chdir to config: Invalid request code I traced this to the fact that cvs expects ENOENT, and chokes when chdir returns EBADRQC instead. A simple strace shows that cygwin1.dll could probably be taught that a bad request return from a remote Win9x filesystem during chdir() should be treated as the expected ENOENT: $ strace bash -c 'cd ~/win98/coreutils/config' ... 34 514661 [main] bash 2536 chdir: dir 'config' 28 514689 [main] bash 2536 normalize_posix_path: src config 29 514718 [main] bash 2536 cwdstuff::get: posix /cygdrive/j/cygwin/home/eblake/coreutils 29 514747 [main] bash 2536 cwdstuff::get: (/cygdrive/j/cygwin/home/eblake/coreutils) = cwdstuff::get (0x22E610, 260, 1, 0), errno 54 108 514855 [main] bash 2536 normalize_posix_path: /cygdrive/j/cygwin/home/eblake/coreutils/config = normalize_posix_path (config) 33 514888 [main] bash 2536 mount_info::conv_to_win32_path: conv_to_win32_path (/cygdrive/j/cygwin/home/eblake/coreutils/config) 33 514921 [main] bash 2536 mount_info::cygdrive_win32_path: src '/cygdrive/j/cygwin/home/eblake/coreutils/config', dst 'j:\cygwin\home\eblake\coreutils\config' 29 514950 [main] bash 2536 set_flags: flags: binary (0x2) 28 514978 [main] bash 2536 mount_info::conv_to_win32_path: src_path /cygdrive/j/cygwin/home/eblake/coreutils/config, dst j:\cygwin\home\eblake\coreutils\config, flags 0x2A, rc 0 1539 516517 [main] bash 2536 symlink_info::check: GetFileAttributes (j:\cygwin\home\eblake\coreutils\config) failed 108 516625 [main] bash 2536 geterrno_from_win_error: windows error 2 == errno 2 1388 518013 [main] bash 2536 symlink_info::check: GetFileAttributes (j:\cygwin\home\eblake\coreutils\config.lnk) failed 173 518186 [main] bash 2536 geterrno_from_win_error: windows error 2 == errno 2 32 518218 [main] bash 2536 symlink_info::check: 0 = symlink.check (j:\cygwin\home\eblake\coreutils\config, 0x22E2D0) (0x2A) 2435 520653 [main] bash 2536 mount_info::conv_to_win32_path: conv_to_win32_path (/cygdrive/j/cygwin/home/eblake/coreutils) 74 520727 [main] bash 2536 mount_info::cygdrive_win32_path: src '/cygdrive/j/cygwin/home/eblake/coreutils', dst 'j:\cygwin\home\eblake\coreutils' 31 520758 [main] bash 2536 set_flags: flags: binary (0x2) 28 520786 [main] bash 2536 mount_info::conv_to_win32_path: src_path /cygdrive/j/cygwin/home/eblake/coreutils, dst j:\cygwin\home\eblake\coreutils, flags 0x2A, rc 0 1549 522335 [main] bash 2536 symlink_info::check: not a symlink 109 522444 [main] bash 2536 symlink_info::check: 0 = symlink.check (j:\cygwin\home\eblake\coreutils, 0x22E2D0) (0x2A) 35 522479 [main] bash 2536 path_conv::check: this->path(j:\cygwin\home\eblake\coreutils\config), has_acls(0) 1350 523829 [main] bash 2536 seterrno_from_win_error: /netrel/src/cygwin-1.5.19-1/winsup/cygwin/path.cc:3965 windows error 1 137 523966 [main] bash 2536 geterrno_from_win_error: windows error 1 == errno 54 30 523996 [main] bash 2536 __set_errno: void seterrno_from_win_error(const char*, int, DWORD):310 val 54 32 524028 [main] bash 2536 chdir: -1 = chdir() cygheap->cwd.posix '/cygdrive/j/cygwin/home/eblake/coreutils' native 'j:\cygwin\home\eblake\coreutils\config' bash: line 0: cd: config: Invalid request code ... - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFD32jI84KuGfSFAYARAseFAKCv8E0io02NJI/WR4LYIBNFVHGErACfYsna 4K2BEodNiEe7i1lB43YKKPQ= =ssIG -----END PGP SIGNATURE----- -- 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/