Re: [PATCH 0/5] "best effort" checkout

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH 0/5] "best effort" checkout

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:39

Mark Levedahl [off-list ref] writes:
Junio C Hamano wrote:
quoted
	
[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 <file>..." 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.

Re: [PATCH 0/5] "best effort" checkout

From: Mark Levedahl <hidden>
Date: 2016-06-15 22:44:39

Junio C Hamano wrote:
I hope you did not use 6/5.  My understanding is that your platform
natively supports it without that compatibility layer ;-)
  
That is a very polite way to express things, and no I did not apply that 
patch.
I expected to see "deleted" here.  I guess lstat("anything/nul") says "it
exists" everywhere, and that probably is why you are getting EEXIST.

  
Indeed:

git>ls nul
nul
git>ls nul*
ls: cannot access nul*: No such file or directory

So, any test for existence of <path>NUL will pass, but NUL never appears 
in a directory listing. The same is true of the other special filenames 
under Windows (aux, ...).

Mark
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help