<p>我已经使用mercurial一年了,没有任何问题。在</p>
<p>今天我第一次遇到一个问题。在</p>
<p>当我试图用</p>
<pre><code>$ hg push
</code></pre>
<p>我得到以下回应</p>
^{pr2}$
<p>我在google上搜索了这个问题,发现它是一个有文档记录的问题,我发现了以下摘录自<a href="https://www.mercurial-scm.org/wiki/FAQ#FAQ.2FCommonProblems.I_get_a_.22no_space_left.22_or_.22disk_quota_exceeded.22_on_push" rel="nofollow noreferrer">Mercurial FAQ</a>:</p>
<p/><blockquote>
4.28. I get a "no space left" or "disk quota exceeded" on push
<p>I get a "no space left" or "disk quota exceeded" on push, but there is plenty of space or/and I have no quota limit on the device where the remote hg repository is.</p>
<p>The problem comes probably from the fact that mercurial uses /tmp (or one of the directory define by environment variables $TMPDIR, $TEMP or $TMP) to uncompress the bundle received on the wire. The decompression may then reach device limits.</p>
<p>You can of course set $TMPDIR to another location on remote in the default shell configuration file, but it will be potentially used by other processes than mercurial. Another solution is to set a hook in a global .hgrc on remote. See the description of how to set a hook for changing tmp directory on remote when pushing.
</p></blockquote>
<p>我在<code>/etc/mercurial/hgrc</code>文件中创建了一个钩子,如下所示</p>
<pre><code>[hooks]
pre-serve.tmpdir = python:hgenviron.settmpdir
</code></pre>
<p>然后我要创建<code>hgenviron.py</code></p>
<pre><code>import os
#see http://docs.python.org/lib/module-tempfile.html
def settmpdir(ui, repo, hooktype, node=None, source=None, **kwargs):
os.environ["TMPDIR"] = "/home/tmp"
</code></pre>
<p>我遇到的问题是我不知道如何将这个文件添加到fedora中的<code>$PYTHONPATH</code></p>
<p>我的操作系统是Fedora 12 x86\u 64<br/>
我有python2.6<br/>
我有mercurial 1.6.4</p>
<p><strong>更新:</strong></p>
<p>我刚把<code>hgenviron.py</code>添加到<code>/usr/lib/python2.6/site-packages/hg/hgenviron.py</code>并且</p>
<pre><code>PYTHONPATH=$PYTHONPATH:/usr/lib/python2.6/site-packages/hg/hgenviron.py
export PYTHONPATH
</code></pre>
<p>到<code>/etc/profile.d</code>中的<code>.sh</code>文件,以及<code>/etc/mercurial/</code>中的钩子。在</p>
<p>但是我仍然得到错误:</p>
<pre><code>remote: abort: pre-serve.tmpdir hook is invalid (import of "hgenviron" failed) abort:
no suitable response from remote hg!
</code></pre>