远程连接到我的家庭版本控制存储库?

时间:2008-12-13 08:38:21

标签: svn tortoisesvn

我在家里使用 TortoiseSVN 设置了一个版本控制系统来管理我的宠物项目,学校项目等......它在本地工作。

现在我需要能够远程访问我的代码存储库,例如从学校访问,以便我能够从存储库更新学校的源代码,并在完成工作后再次提交。

问题是,如何远程连接到我的存储库?例如,我需要在路由器上打开哪些端口?

另外,我无法在学校安装Tortoise客户端,所以我需要一些其他便携式应用程序来执行此任务,无论是GUI还是CLI

8 个答案:

答案 0 :(得分:8)

提供远程访问的方法有很多种。在您的情况下,最简单的方法可能是设置svnserve server。您可以使用--daemon手动启动它,也可以将其安装为Windows服务。在任何一种情况下,端口3690必须打开。确保设置密码,并将svnserve限制在存储库所在的目录中。

作为便携式应用程序,我建议使用命令行svn client。适用于Windows的各种command line clients exist。您应该在您的计算机上安装其中一个,确保您了解如何使用它,然后将它与所需的所有DLL一起复制到USB记忆棒上。

答案 1 :(得分:3)

我建议visual svn server快速设置并运行。

答案 2 :(得分:2)

如果这是您提供的第一个“外部服务”,我会提醒您查看家庭网络的防御措施。如果你是一个老手,在你的防火墙上打开一个洞可能会非常轻松,但如果你之前没有这样做,那么你会想要小心谨慎。做你的阅读。 : - )

或者,可以在线提供免费的代码 - 项目管理网站(SourceForgeGoogle Code),这些网站提供Subversion托管服务。有些服务甚至允许你提供一个svndump来保存你现有的存储库(我相信至少谷歌代码在某一时刻允许这一点,但我不知道这是否仍然存在)。

这两个方面的一个潜在缺点是他们的存储库是公开可见的。如果您想限制对存储库的读取访问权限,那么还有其他免费服务允许这样做,但我担心我无法将其命名为最重要的。

答案 3 :(得分:2)

由于人们特别回答了您的问题 - 另一种解决方案:分布式版本控制系统。

Git可能是最受欢迎的,但我建议尝试darcs - 因为它被编译成一个〜可移植的单个二进制文件,与git不同,它是一堆shell脚本,perl脚本/库和C(或{{ 1}}?)二进制文件。

“DVCS”的固有好处是你可以在不连接中央服务器的情况下提交(并做其他所有事情) - 当你在学校时,你可以提交,制作/合并分支机构等等。然后,当你在家时,你“推”到你的主存储库。

这意味着您无需通过路由器打开端口,也无需依赖家庭计算机/互联网连接。

另一种替代解决方案是使用第三方SVN服务器(例如Google Code,或其他数百种 - 其中一些允许私有存储库,其他人为这些服务器收费),再次您不必担心关于端口转发等。

  

问题是,如何远程连接到我的存储库?例如,我需要在路由器上打开哪些端口?

您可以通过像Apache(guide)这样的网络服务器来服务SVN - 然后您只需要转发端口80,并且通常允许在所有网络上使用。

答案 4 :(得分:1)

我建议与提供托管SVN的托管服务提供商合作,例如Dreamhost。比自己配置和维护它容易得多。

答案 5 :(得分:1)

我通过动态IP在ADSL线路上安装了svn服务器。我的设置使我能够远程访问:

  • 将subversion服务器设置为Windows服务
  • 在服务器防火墙处打开端口3690。
  • 在路由器防火墙处打开端口3690。
  • 在ADSL路由器上配置端口转发
  • www.dyndns.og
  • 设置家庭服务器的DNS
  • 设置SVN安全性(授权和身份验证)

答案 6 :(得分:1)

您可以在记忆棒上使用RapidSVN作为图形SVN客户端。 下载是一个安装程序,但是在安装完成后,您可以将程序文件文件夹的内容复制到记忆棒中,然后从那里运行它。

答案 7 :(得分:1)

Martin是对的:它需要作为守护程序或注册服务运行。在我的机器上,我使用命令svnserve -d来启动它。

查看官方SVN书籍,它也有很多信息:

http://svnbook.red-bean.com/en/1.5/svn-book.html