From: Junio C Hamano Date: Fri, 30 May 2008 00:33:57 GMT Subject: Re: [PATCH 0/5] "best effort" checkout Message-ID: <7vabi8ocju.fsf@gitster.siamese.dyndns.org> In-Reply-To: <483F3B32.9000907@verizon.net> Mark Levedahl writes: > Junio C Hamano wrote: >> >> [PATCH 1/5] "git checkout -- paths..." should error out when paths cannot be written >> [PATCH 2/5] checkout: make reset_clean_to_new() not die by itself >> [PATCH 3/5] checkout: consolidate reset_{to_new,clean_to_new|() >> [PATCH 4/5] unpack_trees(): allow callers to differentiate worktree errors from merge errors >> [PATCH 5/5] checkout: "best effort" checkout >> [PATCH 6/5] NUL hack to create_file() > > This works! I've added these patches (pulled from pu) to my tree and > rebuilt. The current results on Cygwin... I hope you did not use 6/5. My understanding is that your platform natively supports it without that compatibility layer ;-) > git>git checkout -f b71ce7f3f13ebd0e > Previous HEAD position was 952538f... checkout: "best effort" checkout > error: git-checkout-index: unable to create file t/t5100/nul (File exists) > HEAD is now at b71ce7f... Merge 1.5.5.3 in > git>git status > # Not currently on any branch. > # Changed but not updated: > # (use "git add ..." to update what will be committed) > # > # modified: t/t5100/nul Interesting breakage. I expected to see "deleted" here. I guess lstat("anything/nul") says "it exists" everywhere, and that probably is why you are getting EEXIST.