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

Re: error: git checkout-index: unable to write file

From
Jeff King <peff@peff.net>
Date
Nov 4, 2010, 19:22 UTC
Message-ID
<20101104192238.GA2381@sigill.intra.peff.net>
In-Reply-To
<20101104190007.GA17101@burratino>
On Thu, Nov 04, 2010 at 02:00:07PM -0500, Jonathan Nieder wrote:
> Maybe we can do better?  It seems non-ideal in a few ways:
> 
>  1) it is not checkout-index but read-tree -m that prints the message

I would prefer that it print out "clone" if anything. But those "git checkout-index" bits appear to be hard-coded in entry.c, probably from some long-ago cut and paste. Yuck.

Probably it should just be:
   ("error: unable to write %s: %s", file, strerror(errno))
>  2) errno is forgotten
Yup, that is poor.
>  3) I would prefer if "git clone" errored out quickly for ENOSPC instead
>     of continuing to fill in the cracks with what small files it can
>     find.  Though I suppose the current behavior is better for errors
>     like EPERM and ENAMETOOLONG, so I can't complain much.

I'm not sure that the "try to get whatever files you can out" is ever particularly useful, since the result is a broken repository. But if we do subscribe to the theory that such a thing may be useful, I think it can also be useful with ENOSPC. Consider a repository with a bunch of small files and one giant file. If the giant file fails, you might want to still be able to read the other stuff.

Again, that is assuming such a partial checkout is even useful. You can always still pick things manually out of the index or the object db if you really want to see them.

-Peff
Previous: Jonathan Nieder
Message 2 of 2 in “error: git checkout-index: unable to write file”
  1. Jonathan NiederNov 4, 2010
  2. Jeff KingNov 4, 2010

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.