SVN来密码网络驱动器

时间:2013-12-01 07:43:39

标签: windows svn networking tortoisesvn

我正在尝试访问我的QNAP文件服务器,以便在我的网络上本地存储SVN文件。我想要存储它们的文件夹是passworded。 SVN存储库位置:

\\NAS1\ryan\SVN\MSVS12

目录“ryan”受密码保护。如果我直接从Windows访问它,我收到错误:

Windows cannot access \\NAS1\ryan\SVN\MSVS12

虽然如果我直接添加“\\ NAS1 \ ryan”来添加我的凭据,那么tortoiseSVN和windows都可以访问该会话。

我尝试过使用:

file://path;username=user;password=pass

并且文档似乎也无法揭示我的情况。使用自动登录到此文件夹@login的启动脚本会更容易/更好吗?还是有另一种方法可能更好用吗?

编辑:我决定在脚本文件中使用“net use”命令:

net use \\nas1\ryan /user:username password

2 个答案:

答案 0 :(得分:3)

不要这样做。这是一种完全不受支持且非常不鼓励的配置。

通过file:///方法从UNC共享服务存储库可能会导致存储库丢失或损坏(因为用户删除存储库数据库文件无法恢复是微不足道的),任何hook scripts shaky at best (because the execute on the committer's PC, not in a controlled server environment), and affords you zero security within the repository itself (path-based authorization doesn't exist with this access method)(参见页面上的最后一个要点)。还有一些与旧版Samba(您的QNAP可能正在使用)通过Subversion发现的权限相关的错误,这些错误也会让您感到困扰(请参阅this note)。

相反,安装Subversion on the QNAP itself并通过HTTP或svnserve正确访问存储库。副作用:它完全避免了你的UNC共享问题。

答案 1 :(得分:0)

正如Aloc已经指出的那样,你永远不应该在file://上共享一个存储库。 Subversion手册是very firmly against this 1

有多种原因:您可以让用户直接访问存储库文件,这意味着他们可以直接操作它们。挂钩工作正常有问题。并且,由于svn客户端本身直接操作服务器布局,因此几乎没有保护两个人在存储库中同时进行更改。坏主意。

尤其如此,因为设置svnserve非常简单。您甚至可以将svnserve设置为Windows Service。唯一可能的问题是您的路由器或防火墙阻塞端口3620(Subversion svnserve的默认端口)。

以下是设置svnserve

的方法
  1. 创建一个存储库(您已经拥有存储库)。
  2. 编辑$REPO_HOME/conf/svnserve.conf文件。您希望在第20行周围更改以设置password-db = passwd(或您的密码数据库)。
  3. 编辑passwd文件以设置帐户。它基本上是account_name = password。该文件有一条评论显示如何操作。
  4. 手动或作为Windows服务运行svnserve
  5. 而且,这就是它。大约需要10分钟的工作时间。

    如果你真的想要花哨,你可以使用Apache httpd。但是,这涉及安装和配置Apache httpd,这在Windows系统上可能有点困难 - 特别是如果您不熟悉Apache设置。但是,有step-by-step directions并且它们并不难以理解。优点是,它运行在端口80上,与端口3620相比,它不太可能被阻塞,您可以将Windows Active Directory用于Subversion authentication 2

    但是,有几个基于Windows的Subversion服务器,如[http://www.visualsvn.com/server/licensing/],使Apache设置更容易,但要获得LDAP访问,您必须支付< em> Pro 包。您还可以查看CollabNet's package。这是免费的,但它是更多滚动你自己的解决方案。


    1。请参阅该网页的最后一段 2. 可以通过SASLsvnserve与LDAP / Windows Active Directory配置一起使用,但我从未见过它。可能是因为那些想要使用LDAP / Windows Active Directory的人已经知道如何通过Apache httpd。

    配置所有内容