remote: abort: no space left on device (but it seems there is enough space)

Marcin Kasperski Marcin.Kasperski at softax.com.pl
Mon Apr 16 10:18:52 CDT 2007


> To avoid keeping the repo locked while the client is uploading the data,
> hg writes everything to a temporary file, locks the repo and then
> uses this temporary file to add the revisions.
>
> Since we don't specify any directory, python obeys $TMPDIR/$TEMP/$TMP
> and then falls back to /tmp, /var/tmp, ...
>
> Maybe we should create this temporary file inside .hg...  Hmm...
>   
If I can suggest ...:

a) When reporting filesystem-related failure, it would really, really, 
*really* make sense to mention
the filename which caused the problem. No: "abort: no space left on 
device", but (for example)
"abort: Can not write to /tmp/x34234aaere, no space left on device". 
This is of course general remark,
applicable probably to many failures.

b) I am not sure which temporary place is best (/tmp/ will be 
auto-cleaned sooner or later, .hg/tmp
is faster if some files are mv-ed), but surely it would be nice if one 
could pick own location somehow.
$TMPDIR/$TEMP is some solution (worth documenting), although not 
perfect, as it is easier to add
command option or set local variable, than to reconfigure remote 
environment to which mercurial will
ssh. Maybe it would be best to keep $TEMP as last resort, but handle 
--local-tmp=<.> and
--remote-tmp=<.> options?


More information about the Mercurial mailing list