git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* error: git checkout-index: unable to write file
@ 2010-11-04 19:00 Jonathan Nieder
  2010-11-04 19:22 ` Jeff King
  0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Nieder @ 2010-11-04 19:00 UTC (permalink / raw)
  To: git

Hi gitsters,

Just tried cloning an enormous repo to /tmp (which uses tmpfs)
and got

 error: git checkout-index: unable to write file webkit/tools/test_shell/resources/textAreaResizeCorner.png
 error: git checkout-index: unable to write file webkit/tools/test_shell/run_all_tests.cc
 error: git checkout-index: unable to write file webkit/tools/test_shell/simple_appcache_system.cc
 error: git checkout-index: unable to write file webkit/tools/test_shell/simple_appcache_system.h

[etc].

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
 2) errno is forgotten
 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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: error: git checkout-index: unable to write file
  2010-11-04 19:00 error: git checkout-index: unable to write file Jonathan Nieder
@ 2010-11-04 19:22 ` Jeff King
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff King @ 2010-11-04 19:22 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: git

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-11-04 19:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-04 19:00 error: git checkout-index: unable to write file Jonathan Nieder
2010-11-04 19:22 ` Jeff King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).