加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – “(.hg not found)”从cygwin托管的存储库通过ssh克

发布时间:2020-12-14 03:52:27 所属栏目:Windows 来源:网络整理
导读:我在 Windows服务器上运行存档文件系统,该服务器执行自动异地复制,这使其成为托管Mercurial存储库并确保其安全性的理想位置.这个文件系统只有Windows,所以我别无选择,只能使用Windows作为主机操作系统. 建立: 服务器(‘ungoliant’,我的网络内部): Windows
我在 Windows服务器上运行存档文件系统,该服务器执行自动异地复制,这使其成为托管Mercurial存储库并确保其安全性的理想位置.这个文件系统只有Windows,所以我别无选择,只能使用Windows作为主机操作系统.

建立:

服务器(‘ungoliant’,我的网络内部):

> Windows 7主存储库主机.
> Cygwin ssh守护进程.
> hg 1.9.3
>在Windows上使用“hg init”创建了新的存储库“/ cygdrive / j / mercurial / rcstudio”.

客户:

> Mac OSX 10.7.4运行hg 2.1.2
> FreeBSD 8.3运行hg 2.1.2

客户端问题(Mac和FreeBSD上相同):

$hg clone ssh://cjp@ungoliant//cygdrive/j/mercurial/rcstudio
running ssh cjp@ungoliant '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 cjp@ungoliant:/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

我发现了很多stackoverflow问题,其中问题是格式不正确的ssh URI …我的格式正确并描述了绝对路径.

我已经确认了以下所有内容:

> hg命令在服务器上和通过ssh都运行良好.
>如果我粘贴绝对路径,我可以通过ssh确认.hg目录的存在.
>通过ssh手动发出的其他hg命令成功(例如:ssh cjp @ ungoliant’cd / cygdrive / j / mercurial / rcstudio; hg diff;’).
>在主机上,我可以从同一个绝对路径进行本地克隆.

我在这里难过. Mercurial文档听起来像2.1.2应该能够从1.9.3父级克隆,因此它似乎不是版本冲突.

非常感谢你的帮助!谢谢!

解决方法

我最终得到的是一种解决方法而不是答案.

我对远程ssh命令处理的无知导致了误解.如果我要ssh到机器,“哪个hg”导致cygwin感知二进制文件“/usr/bin/hg”,但如果我做了一个远程命令“ssh cjp @ ungoliant’hg’”,它返回了路径到Windows二进制文件我也安装在那台机器上.

我玩我的.bashrc文件,无法获得远程命令执行来优先处理cygwin二进制文件. PATH甚至没有包含Windows PATH条目,所以我开始讨论这个问题并最终决定停止与它斗争.

我已经放弃了整个想法,因为我相信,即使我把它付诸实践,它也将是一个微妙的kludge,并不值得我花在它上面的时间.我现在将我的存储库托管在BSD盒子上,并且我在Windows机器上有一个cron,它每24小时从该存储库拉到存档文件系统一次.它很简单,就像一个零问题的魅力.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读