git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Mark Levedahl <mdl123@verizon.net>
Date
May 29, 2008, 23:24 UTC
Message-ID
<483F3B32.9000907@verizon.net>
In-Reply-To
<1212020246-26480-1-git-send-email-gitster@pobox.com>
Junio C Hamano wrote:
Show 7 quoted lines
> 	
> [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
Previous: Alex RiesenNext: Junio C Hamano
Message 18 of 20 in “"best effort" checkout”
  1. 0/5 "best effort" checkoutJunio C Hamano, May 29, 2008
  2. 1/5 "git checkout -- paths..." should error out when paths cannot be writtenJunio C Hamano, May 29, 2008
  3. 2/5 checkout: make reset_clean_to_new() not die by itselfJunio C Hamano, May 29, 2008
  4. 3/5 checkout: consolidate reset_{to_new,clean_to_new|()Junio C Hamano, May 29, 2008
  5. 4/5 unpack_trees(): allow callers to differentiate worktree errors from merge errorsJunio C Hamano, May 29, 2008
  6. 5/5 checkout: "best effort" checkoutJunio C Hamano, May 29, 2008
  7. 6/5 NUL hack to create_file()Junio C Hamano, May 29, 2008
  8. Johannes SixtMay 29, 2008
  9. Marius Storm-OlsenMay 29, 2008
  10. Johannes SixtMay 29, 2008
  11. Daniel BarkalowMay 29, 2008
  12. Brian DessentMay 29, 2008
  13. Daniel BarkalowMay 29, 2008
  14. Johannes SchindelinMay 29, 2008
  15. Daniel BarkalowMay 29, 2008
  16. Junio C HamanoMay 29, 2008
  17. Alex RiesenMay 29, 2008
  18. Mark LevedahlMay 29, 2008
  19. Junio C HamanoMay 30, 2008
  20. Mark LevedahlMay 30, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.