在Windows上使用带有Cygwin和TortoiseSVN的SVN

时间:2012-07-15 16:19:29

标签: windows svn tortoisesvn cygwin

我是版本控制的初学者,所以我可能做错了。

我希望能够在cygwin和TortoiseSVN(或其他Windows应用程序)中访问本地存储库。麻烦的是,在cygwin我必须使用
TortoiseSVN需要时file:///cygdrive/c/...路径 file:///c:/...

我如何让这两个一起工作?我可以使用其他理解的其他路径/协议吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

简单的方法是使用Subversion附带的svnserve程序。这应该在Cygwin中。您需要做的只是启动svnserve并使用svn://作为协议,而不是file://

首先,您需要修改存储库。您必须编辑两个文件:svnserve.confpassed

$ cd /cygdrive/c/.../repos_dir
$ cd conf
$ vi svnsever.conf   # Change the "# password-db = passwd" line & remove the "#"
$ vi passwd          # Setup the user and password entry

接下来,启动服务器:

$ cd ..    # Back to the repository directory
$ svnserve -r $PWD -d

而且就是这样。

现在,您可以通过这种方式结账:

$ svn co svn://localhost/dir/to/check/out

这将是cygwin和Tortoise中的相​​同网址


WORD'O WARNING

无法保证不同的subversion客户端将生成可与其他subversion客户端一起使用的工作目录。

幸运的是,Tortoise和标准的Subversion命令行客户端似乎没问题。在过去的几年里,我已经能够在Subversion命令行客户端和ToroiseSVN之间切换。 HOWEVER ,您必须确保它们都是以太网后版1.7客户端或1.7之前的客户端。如果您的Cygwin客户端是版本1.6.7而您的Tortoise客户端是1.7.5,则无法共享工作目录。使用svn version命令检查您的Cygwin客户端,并检查Tortoise上的 About Box

同样,不能保证两个客户端可以共享同一个工作目录,所以如果有问题,你就可以独立完成。

答案 1 :(得分:3)

有一种更好的方法。只需链接目录。

ln -s /cygdrive/c /C:

现在它应该可以工作。

归功于Mark Malaknov 你可以在这里阅读:

http://markmal.blogspot.com/2012/11/how-to-use-cygwin-svn-and-tortoisesvn.html

答案 2 :(得分:1)

如果您(重新)安装TortoiseSVN并选择安装(Windows)命令行工具的选项,但从Cygwin安装程序安装这些工具的Cygwin / Linux版本(或删除它们),然后您的Windows工具仍然可以通过Cygwin获得。

这些应该接受Windows路径,就好像从命令提示符调用它们一样(尽管您可能必须将它们放在引号中以避免bash shell解释它们)