我,做自动异地复制,这使得它托管的Mercurial库的理想地点在Windows服务器上运行的文件系统归档Mac和FreeBSD的客户从cygwin的托管库中进行克隆时并确保他们的安全。这个文件系统只有Windows,所以我别无选择,只能使用Windows作为主机操作系统。“(.hg未找到)”通过ssh
设置:
服务器( '昂哥立安',内部以我的网络):
- Windows 7的主存储库主机。
- Cygwin ssh守护进程。
- hg 1.9.3
- 使用“hg init”在Windows上创建新的存储库“/ cygdrive/j/mercurial/rcstudio”。
客户端:
- 的Mac OSX 10.7.4运行汞柱2.1.2
- FreeBSD的8.3运行汞柱上的客户端2.1.2
问题(在Mac和FreeBSD相同) :
$ hg clone ssh://[email protected]//cygdrive/j/mercurial/rcstudio
running ssh [email protected] 'hg -R /cygdrive/j/mercurial/rcstudio serve --stdio'
remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
我已经证实,路径和URI是科尔等。有绝对是的“.hg”目录有:
$ ls -la
total 0
drwxr-xr-x 3 cjp staff 102 Jun 5 17:41 .
drwxr-xr-x 41 cjp staff 1394 Jun 5 16:30 ..
$ scp -r [email protected]:/cygdrive/j/mercurial/rcstudio/.hg .
$ ls -la
total 0
drwxr-xr-x 3 cjp staff 102 Jun 5 17:41 .
drwxr-xr-x 41 cjp staff 1394 Jun 5 16:30 ..
drwxr-xr-x 5 cjp staff 170 Jun 5 17:41 .hg
$ ls -la .hg
total 16
drwxr-xr-x 5 cjp staff 170 Jun 5 17:41 .
drwxr-xr-x 3 cjp staff 102 Jun 5 17:41 ..
-rw-r--r-- 1 cjp staff 57 Jun 5 17:41 00changelog.i
-rw-r--r-- 1 cjp staff 33 Jun 5 17:41 requires
drwxr-xr-x 2 cjp staff 68 Jun 5 17:41 store
我发现很多计算器问题,其中问题是格式不正确的SSH URI ......我的格式是否正确,并说明绝对路径。
我已确认所有以下内容:
- 汞柱命令在服务器上,并通过ssh运行良好。
- 如果我粘贴绝对路径,我可以通过ssh确认.hg目录的存在。
- 其他汞柱命令手动通过ssh发出成功(例如:SSH CJP @昂哥立安 'CD/cygdrive/J /水银/ rcstudio; hg的差异;')。
- 在主机上,我可以从同一绝对路径本地克隆。
我在这里难住了。 Mercurial文档听起来像2.1.2应该能够从1.9.3父母中克隆出来,所以它看起来不是版本冲突。
非常感谢您的帮助!谢谢!
当通过ssh访问您的repo时,会使用哪个'hg'二进制文件?也许在那里有一个非cygwin二进制文件,它不能处理cygwin路径,而是期望'j:\ mercurial \ rcstudio'。 – Rudi
你完全正确。我自己对远程ssh命令处理的无知导致了这个问题。如果我将ssh发送到机器,那么“which hg”带有cygwin-aware二进制文件“/ usr/local/ – Rjak
你完全正确,我自己对远程ssh命令处理的无知导致了这个问题。机器,“哪个hg”导致cygwin意识到的二进制“/ usr/bin/hg”,但如果我做了一个远程命令问题“ssh cjp @ ungoliant'hg'”,它返回了一个windows二进制文件的路径我也在该机器上安装了 – Rjak