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

Alexis S. L. Carvalho alexis at cecm.usp.br
Mon Apr 16 09:54:58 CDT 2007


Thus spake TK Soh:
> On 4/16/07, Alexis S. L. Carvalho <alexis at cecm.usp.br> wrote:
> > Thus spake Marcin Kasperski:
> > > While executing hg push, I got an error
> > >          remote: abort: no space left on device
> > > But there is about 2GB of free space on the remote side, and local .hg
> > > has about 500MB.
> > >
> > > Is mercurial trying to use some other filesystem (say /tmp or remote
> > > home)? Or what can
> > > be the reason of this error?
> >
> > 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.
> 
> This is quite a surprise. I frequently check in fairly large files. So
> I guess I've 'lucky' so far. Is this documented somewhere accessible
> by users?

I don't think so - well, the source is accessible, but I guess that's
not what you meant :)

> > 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...
> 
> The concern is these tmp locations frequently get filled by users or
> stray processes on our systems. So .hg maybe a better place, for now.

Yeah, bundlerepo already uses .hg as a temporary space to look inside a
bundle, exactly because of this issue IIRC.

Alexis


More information about the Mercurial mailing list