我已根据MT的知识库文件here安装了Mercurial。
使用我的Mac上的ssh使用服务器端工作正常。我可以初始化存储库等,但从服务器拉出或从我的Mac推送会产生一个我不明白的错误。
这是我从本地安装调用hg push时得到的结果(哈希标记表示我的服务器编号):
remote: Traceback (most recent call last):
remote: File "/home/#####/users/.home/data/mercurial-1.5/hg", line 27, in ?
remote: mercurial.dispatch.run()
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/dispatch.py", line 16, in run
remote: sys.exit(dispatch(sys.argv[1:]))
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/dispatch.py", line 21, in dispatch
remote: u = _ui.ui()
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/ui.py", line 38, in __init__
remote: for f in util.rcpath():
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/util.py", line 1200, in rcpath
remote: _rcpath = os_rcpath()
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/util.py", line 1174, in os_rcpath
remote: path = system_rcpath()
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/posix.py", line 41, in system_rcpath
remote: path.extend(rcfiles(os.path.dirname(sys.argv[0]) +
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/posix.py", line 30, in rcfiles
remote: rcs.extend([os.path.join(rcdir, f)
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/demandimport.py", line 75, in __getattribute__
remote: self._load()
remote: File "/nfs/c05/h01/mnt/#####/data/mercurial-1.5/mercurial/demandimport.py", line 47, in _load
remote: mod = _origimport(head, globals, locals)
remote: ImportError: No module named osutil
abort: no suitable response from remote hg!
我的Mac上的Mercurial配置如下
[ui]
username = John Smith
editor = te -w
remotecmd = ~/data/mercurial-1.5/hg
我的本地单个仓库配置如下(哈希标记代表我的服务器编号):
[paths]
default = ssh://mysite.com@s#####.gridserver.com/domains/mysite.com/html
服务器上的Mercurial只配置了一个用户名:
[ui]
username = John Smith
服务器.bash_profile配置如下(根据安装指南):
# Added this as suggested by the MediaTemple guide
export PYTHONPATH=${HOME}/lib/python:$PYTHONPATH
export PATH=${HOME}/bin:$PATH
我理解这可能不是MediaTemple问题,但更可能是安装问题。我真的很感激对此的任何帮助。提前谢谢!
答案 0 :(得分:1)
您的mercurial安装不完整,您没有编译osutil模块(某处应该有osutil.so)。
答案 1 :(得分:0)
@tonfa,
hgdebuginstall
没有产生错误,这就是为什么我遇到的问题太奇怪了。
感谢您的回复,我做了一些挖掘并在~/lib/python/mercurial
中找到了该模块,因此我将osutil.so
文件复制到我的~data/mercurial-1.5/mercurial
目录中,那就是......但是然后找不到越来越多的模块,所以我决定将一个目录的全部内容复制到另一个目录,如下所示:
$ rm -R ~/data/mercurial-1.5/mercurial/*
$ cp -r ~/lib/python/mercurial/* ~/data/mercurial-1.5/mercurial
现在,一切正常。我不明白为什么mercurial似乎安装在两个目录中,或者为什么一个目录(~/data/mercurial-1.5/mercurial
)没有得到与另一个目录(~/lib/python/mercurial
)相同的文件。
无论如何,这是我提出的解决方案。如果你(或任何人)能够想到更优雅的东西,我会全神贯注,但事实上......这个对我有用。
感谢您的时间。