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. :-)
May 2nd, 2007 at 02:01
Just what we need, another dot directory. How about at least follow the free desktop spec? It’s only been available for years…