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...
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
#
no changes added to commit (use "git add" and/or "git commit -a")
git>git mv t/t5100/nul t/t5100/nul-plain
fatal: renaming t/t5100/nul failed: Invalid argument
git>git rm -f --cached t/t5100/nul
rm 't/t5100/nul'
git>git show HEAD:t/t5100/nul
From nobody Mon Sep 17 00:00:00 2001
---
diff --git a/foo b/foo
^Some strange test^^
^@
So, for posterity, git-mv cannot rename the offending file in the index, but the
file can be removed, and its contents piped into a file of non-offending name,
so a reasonable solution for this case exists.
Many thanks to all, especially to Junio for actually creating the fix.
Mark
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html