Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在bzr+中避免物理路径;ssh://myserver/C:\mydir?_Windows_Ssh_Bazaar - Fatal编程技术网

Windows 如何在bzr+中避免物理路径;ssh://myserver/C:\mydir?

Windows 如何在bzr+中避免物理路径;ssh://myserver/C:\mydir?,windows,ssh,bazaar,Windows,Ssh,Bazaar,我从Bazaar开始(从Subversion切换,如果术语有时有点不合适的话,很抱歉)。在当地使用集市没有问题 让bzr+ssh://在我的Windows服务器上工作(终于!甚至ssh代理也在工作了哇!) 现在,我希望在服务器上有一个共享存储库,开发人员可以从中分支到他们的机器。我希望存储库位于特定文件夹中,例如在C:\bzr\MyProject中 当我这样做时: bzr init-repo --no-trees bzr+ssh://myserver.com/MyProject 它在我的用户帐

我从Bazaar开始(从Subversion切换,如果术语有时有点不合适的话,很抱歉)。在当地使用集市没有问题

让bzr+ssh://在我的Windows服务器上工作(终于!甚至ssh代理也在工作了哇!)

现在,我希望在服务器上有一个共享存储库,开发人员可以从中分支到他们的机器。我希望存储库位于特定文件夹中,例如在C:\bzr\MyProject中

当我这样做时:

bzr init-repo --no-trees bzr+ssh://myserver.com/MyProject
它在我的用户帐户的主目录中的C:\cygwin\home\user\MyProject中创建了存储库-这是可以理解的,但令人担忧

然后作为一个实验,我也尝试并成功了:

bzr init-repo --no-trees bzr+ssh://myserver.com/C:\bzr\MyProject
这就创建了我想要的存储库。但我如何“映射”或“别名”URL(或bzr),以便我的开发人员可以在他们的帐户下登录并使用URL

bzr+ssh://myserver.com/MyProject
要访问C:\bzr\MyProject中的共享存储库


显然,我不希望开发人员使用bzr+ssh://myserver.com/C:\bzr\MyProject因为URL中的物理路径。

好的,我自己的答案是,如果您想在Windows服务器上为将通过internet访问的开发团队运行Bazaar, 如果您不熟悉Linux、Cygwin、SSHD和相关的东西,那么它可能会变得比您所能承受的更复杂

我实际上放弃了集市的想法,选择了Mercurial。我必须说,在服务器上安装Mercurial也很难,但至少只有Windows、IIS和一点Python。半天内就开始运行了

我在Windows服务器上使用bzr+ssh://时遇到的一些问题是:

  • 需要在服务器上安装SSHD。与Bazaar一起提供的SSHD(从剥离的Cygwin)拒绝工作。必须安装Cygwin并学习一些Linux知识,如何作为服务运行,如何配置,如何生成密钥

  • 很难以不要求为每个命令键入密码的方式添加新用户。将需要生成一个密钥对,模拟将密钥复制到两个位置的服务器(Cygwin的主用户文件夹和窗口)。可能需要将用户登录到Windows以创建配置文件。不希望开发人员实际登录到服务器

  • 很难在服务器上的特定位置设置共享存储库。使用bzr+ssh似乎不可能。可能与sftp有关。可能需要像上面建议的那样使用符号链接

  • 作为linux的新手,我不理解在服务器上运行sshd并允许shell访问开发人员帐户的所有含义。必须使用bzr壳牌有限公司。。。文件很少


  • 基本上,Windows服务器上的bzr+ssh://似乎是几年前在Windows服务器上安装Subversion时的样子——很难。希望Bazaar也能让它变得更好,因为最初我选择了它而不是Mercurial。

    阅读后,我发现bzr://似乎总是解析相对于用户目录的URL,即使没有指定“~”。但是sftp://通常会相对于服务器上的根目录解析它,除非在路径中指定“~”。这听起来更好。它还说,大多数SSH服务器都包含SFTP。所以我试过了sftp://myserver.com/MyProject 它在C:\cygwin\MyProject中创建了存储库,这要好多了。如果你没有更好的答案,请考虑关闭。我可以看到你正在使用CygWin的SSH服务器。所以应该可以在Cygwin中使用符号链接将MyProject指向其他位置。这不是这里的工作方式:-),我们不会关闭问题,除非它们有问题或重复。无论如何,你应该在下面的答案中解释如何做,也许用一段以上的话;然后,其他觉得它有帮助的人可以投票支持它,增加你的声望@bialix:Bzr/Cygwin不能很好地使用Windows.com上的符号链接。我可以确认,在Windows上正确运行bzr+ssh是一件相当痛苦的事情;正确的目录等。