Don't understand german? Read or subscribe to my english-only feed.

Mercurial: ‘remote: abort: No space left on device’

I got ‘remote: abort: No space left on device:’ when running ‘hg push’ via ssh during a repository migration (from subversion to mercurial). Huh?! The partition with all the repositories on it has enough free space, so what? Ah, wait a second. When pushing data via ssh, mercurial does a ‘ssh $HOST hg -R /path/to/repos serve –stdio’ and the data is put into /tmp/hg-unbundle-… in the meanwhile. As I’m running the mercurial repository inside a vserver system /tmp was limited to 16M tmpfs. So the temporary fix was pretty easy:

vnamespace -e repos mount -t tmpfs -o remount,size=32m,mode=1777 \\
              none /var/lib/vservers/repos/tmp

I just talked to mercurial devs, quoting them:

00:24 < mpm> It finds the tmp dir based on the standard environment variables.
00:24 < mpm> We'll probably move it to .hg/
[...]
00:33 < brendan> defaults to /tmp if unset

Excellent. :-)

One Response to “Mercurial: ‘remote: abort: No space left on device’”

  1. Stoffe Says:

    Just what we need, another dot directory. How about at least follow the free desktop spec? It’s only been available for years…