在Windows Server 2003上的Review-Board下设置Git存储库

时间:2011-05-24 08:06:37

标签: windows git windows-server-2003 msysgit review-board

我需要一些帮助。

我有 Windows Server 2003 计算机,我使用 Git 审核委员会进行设置。

我的Git存储库由 Gitolite 管理。设置成功,一切正常(使用多个工作站进行测试)。

Review-Board网站已成功安装,并在 Apache 2.2 下托管。这本身也很好(网站可以访问并响应工作站),除了我试图将Git存储库链接到Review-Board的部分。

大多数教程(例如:http://ericholscher.com/blog/2011/jan/24/using-reviewboard-git/)提供了有关如何在Review-Board下设置Git存储库的详细信息,除了它们指的是Linux / Unix系统,我正在运行Windows Server 2003。

我的Gitolite存储库存储在D:\Repositories\Git下 示例:D:\Repositories\Git\sdu-test\.git

我的理解是Review-Board需要存储库的本地克隆。因此,我创建了一个名为LocalClones的目录,并克隆了我的存储库 示例:D:\Repositories\LocalClones\ [我在此克隆了sdu-test.git]
使用的命令(来自LocalClones目录):git clone ../Git/sdu-test.git
(克隆成功)

现在,在Review-Board中,我正在尝试声明我的 sdu-test 存储库。

  • 名称为“sdu-test
  • 托管类型为“Custom
  • 存储库类型为“Git
  • 路径为“D:\Repository\LocalClones\sdu-test”(我也尝试使用“sdu-test.git”和“sdu-test/.git”)
  • 镜像路径为“ssh://git@localhost/sdu-test”(我也尝试过“git@localhost:sdu-test”,根本没有镜像路径)

当我点击 保存 时,我收到以下错误: (11001,'getaddrinfo failed') 。我不知道该怎么做。

如果我尝试将路径更改为Unix样式路径(“/D/Repository/LocalClones/sdu-test”),则会收到不同的错误消息:Permission denied accessing the local Git repository '/D/Repository/LocalClones/sdu-test'。使用Unix风格的路径,我甚至可以编写一个不存在的目录路径('/I/Dont/Exist')并返回相同的权限被拒绝错误(错误消息中的路径确实反映了更改)。

任何人都可以帮助我并告诉我如何在Windows下的Review-Board中声明我的本地Git存储库吗?

非常感谢!

**更新**感谢Tamagochi和VonC的答案,但遗憾的是他们并没有为我工作。即使修复了git.py文件,我仍然会收到Permission denied accessing the local Git repository '/D/Repository/LocalClones/sdu-test'错误消息。

2 个答案:

答案 0 :(得分:2)

ReviewBoard 1.5.5中似乎存在导致此错误的错误。您可以通过以下两种方式之一解决此问题:

  1. 将您的存储库移至驱动器C.

  2. 修改\reviewboard\scmtools\git.py文件,并替换以下行:

    self.git_dir = url_parts[2]
    

    使用:

    self.git_dir = url_parts[1] + url_parts[2]
    

    然后使用以下路径:file://D:/Repository/LocalClones/sdu-test

答案 1 :(得分:0)

我对ReviewBoard没有任何经验,但我可以收集(来自your link):

  • 您需要将完整路径放到本地克隆的.git目录中。
  • 您应该通过基于网址的地址进行本地克隆。如果要使用本地文件协议,则应尝试使用file///D/Repository/LocalClones/sdu-test git@localhost:sdu-test仅在您运行git守护程序时才有效 ssh://git@localhost/sdu-test仅在运行ssh守护程序时才有效。