X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=3.0 required=5.0 tests=AWL,BAYES_20,J_CHICKENPOX_75,WEIRD_PORT X-Spam-Check-By: sourceware.org X-Host-mx2: True MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable x-cr-hashedpuzzle: LMA= BHSJ B0oc B30s C9rR DCUB EUcp Ezcv FSpf GDiv HMX5 I6ip JUmm KO5p KgnZ LOni;1;YwB5AGcAdwBpAG4AQABjAHkAZwB3AGkAbgAuAGMAbwBtAA==;Sosha1_v1;7;{36BAE784-13B0-43BF-BE42-8DAF2EF8C8E4};cwB0AGUAdgBlAHcAQABjAG8AZwBuAGUAeAAuAGMAbwBtAA==;Thu, 14 May 2009 15:25:27 GMT;ZwBpAHQAIABjAGgAZQBjAGsAbwB1AHQAIABwAHIAbwBiAGwAZQBtAA== x-cr-puzzleid: {36BAE784-13B0-43BF-BE42-8DAF2EF8C8E4} Content-class: urn:content-classes:message Subject: git checkout problem Date: Thu, 14 May 2009 11:25:27 -0400 Message-ID: <8F37BF6F420455468C4BD57DD6BE1990063E9361@cobra.pc.cognex.com> From: "Whitman, Steve" To: X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com I've been using git for a few weeks now and recently ran into a problem that I just can't workaround. I tried updating to the cygwin 1.7 release hoping that this would fix the issue but it didn't. I found that a checkout of a branch "new_file_system" from the master branch (or vice versa) would result an error that a file can't be unlinked. Below is the sequence of git commands that I run that cause the problem. This is the exact sequence of commands that I run: bash-3.2$ git status # On branch master nothing to commit (working directory clean) bash-3.2$ git checkout new_file_system error: unable to unlink old 'src/libCpp/device/cdu/readManuData.cpp' (Device or resource busy) M src/libCpp/device/cdu/readManuData.cpp Switched to branch 'new_file_system' bash-3.2$ git status # On branch new_file_system # Changed but not updated: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: src/libCpp/device/cdu/readManuData.cpp # no changes added to commit (use "git add" and/or "git commit -a") bash-3.2$ git reset --hard HEAD is now at 5d9a836 Merge from CC branch to master bash-3.2$ strace -o /c/temp/cygwin17.bug --mask=3Dall git checkout master error: unable to unlink old 'src/libCpp/services/flash.cpp' (Device or resource busy) M src/libCpp/services/flash.cpp Switched to branch 'master' bash-3.2$ git status # On branch master # Changed but not updated: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: src/libCpp/services/flash.cpp # no changes added to commit (use "git add" and/or "git commit -a") Here is a portion of the strace log where the file (flash.cpp) is referenced (the full log is over 1MB which is why I didn't include it): 34 5526393 [main] git 4640 fhandler_base::open: (\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp, 0x100A01) 58 5526451 [main] git 4640 alloc_sd: uid 11962, gid 11477, attribute 1ED 34 5526485 [main] git 4640 cygsid::debug_print: alloc_sd: owner SID =3D S-1-5-21-30099031-893089305-1333819168-1962 (+) 34 5526519 [main] git 4640 cygsid::debug_print: alloc_sd: group SID =3D S-1-5-21-30099031-893089305-1333819168-1477 (+) 37 5526556 [main] git 4640 alloc_sd: ACL-Size: 100 80 5526636 [main] git 4640 alloc_sd: Created SD-Size: 176 372 5527008 [main] git 4640 fhandler_base::set_flags: flags 0x100A01, supplied_bin 0x10000 50 5527058 [main] git 4640 fhandler_base::set_flags: filemode set to binary 34 5527092 [main] git 4640 fhandler_base::open: 0 =3D NtCreateFile (0x1F0, 40120080, \??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp, io, NULL, 80, 7, 2, 4020, NULL, 0) 36 5527128 [main] git 4640 fhandler_base::open: 1 =3D fhandler_base::open (\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp, 0x100A01) 67 5527195 [main] git 4640 fhandler_base::open_fs: 1 =3D fhandler_disk_file::open (\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp, 0xA01) 37 5527232 [main] git 4640 open: 5 =3D open (src/libCpp/services/cdu/flashvm46.cpp, 0xA01) 35 5527267 [main] git 4640 writev: writev (5, 0x22C424, 1) 33 5527300 [main] git 4640 fhandler_base::write: binary write 129 5527429 [main] git 4640 writev: 4874 =3D write (5, 0x22C424, 1), errno 2 35 5527464 [main] git 4640 close: close (5) 34 5527498 [main] git 4640 fhandler_base::close: closing '/c/repo/cvs/abc-git/src/libCpp/services/cdu/flashvm46.cpp' handle 0x1F0 115 5527613 [main] git 4640 close: 0 =3D close (5) 177 5527790 [main] git 4640 normalize_posix_path: src src/libCpp/services/flash.cpp 37 5527827 [main] git 4640 cwdstuff::get: posix /c/repo/cvs/abc-git 34 5527861 [main] git 4640 cwdstuff::get: (/c/repo/cvs/abc-git) =3D cwdstuff::get (0x10F0008, 32768, 1, 0), errno 0 34 5527895 [main] git 4640 normalize_posix_path: /c/repo/cvs/abc-git/src/libCpp/services/flash.cpp =3D normalize_posix_path (src/libCpp/services/flash.cpp) 59 5527954 [main] git 4640 mount_info::conv_to_win32_path: conv_to_win32_path (/c/repo/cvs/abc-git/src/libCpp/services/flash.cpp) 49 5528003 [main] git 4640 set_flags: flags: binary (0x2) 34 5528037 [main] git 4640 mount_info::conv_to_win32_path: src_path /c/repo/cvs/abc-git/src/libCpp/services/flash.cpp, dst C:\repo\cvs\abc-git\src\libCpp\services\flash.cpp, flags 0x2, rc 0 86 5528123 [main] git 4640 symlink_info::check: not a symlink 53 5528176 [main] git 4640 symlink_info::check: 0 =3D symlink.check (C:\repo\cvs\abc-git\src\libCpp\services\flash.cpp, 0x2232B8) (0x2) 34 5528210 [main] git 4640 path_conv::check: this->path(C:\repo\cvs\abc-git\src\libCpp\services\flash.cpp), has_acls(1) 75 5528285 [main] git 4640 unlink_nt: Opening file for delete failed, status =3D 0xC0000043 31 5528316 [main] git 4640 seterrno_from_win_error: /ext/build/netrel/src/cygwin-1.7.0-47/winsup/cygwin/syscalls.cc:639 windows error 32 34 5528350 [main] git 4640 geterrno_from_win_error: windows error 32 =3D=3D errno 16 33 5528383 [main] git 4640 __set_errno: void seterrno_from_win_error(const char*, int, DWORD):318 val 16 33 5528416 [main] git 4640 unlink: -1 =3D unlink (src/libCpp/services/flash.cpp) 109 5528525 [main] git 4640 fhandler_console::write: 626EB748, 7 35 5528560 [main] git 4640 fhandler_console::write: at 101(e) state is 0 125 5528685 [main] git 4640 fhandler_console::write: 7 =3D fhandler_console::write (,..7) 86 5528771 [main] git 4640 fhandler_console::write: 22C110, 78 33 5528804 [main] git 4640 fhandler_console::write: at 117(u) state is 0 867 5529671 [main] git 4640 fhandler_console::write: 78 =3D fhandler_console::write (,..78) 316 5529987 [main] git 4640 fhandler_console::write: 626EB73C, 1 35 5530022 [main] git 4640 fhandler_console::write: at 10(0x20) state is 0 720 5530742 [main] git 4640 fhandler_console::write: 1 =3D fhandler_console::write (,..1) 184 5530926 [main] git 4640 normalize_posix_path: src src/libCpp/services/flashimpl.h 309 5531235 [main] git 4640 cwdstuff::get: posix /c/repo/cvs/abc-git 78 5531313 [main] git 4640 cwdstuff::get: (/c/repo/cvs/abc-git) =3D cwdstuff::get (0x10F0008, 32768, 1, 0), errno 0 35 5531348 [main] git 4640 normalize_posix_path: /c/repo/cvs/abc-git/src/libCpp/services/flashimpl.h =3D normalize_posix_path (src/libCpp/services/flashimpl.h) 33 5531381 [main] git 4640 mount_info::conv_to_win32_path: conv_to_win32_path (/c/repo/cvs/abc-git/src/libCpp/services/flashimpl.h) - Steve - -- 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/