我是版本控制的初学者,所以我可能做错了。
我希望能够在cygwin和TortoiseSVN(或其他Windows应用程序)中访问本地存储库。麻烦的是,在cygwin我必须使用
TortoiseSVN需要时file:///cygdrive/c/...
路径
file:///c:/...
。
我如何让这两个一起工作?我可以使用其他理解的其他路径/协议吗?
谢谢!
答案 0 :(得分:5)
简单的方法是使用Subversion附带的svnserve
程序。这应该在Cygwin中。您需要做的只是启动svnserve
并使用svn://
作为协议,而不是file://
。
首先,您需要修改存储库。您必须编辑两个文件:svnserve.conf
和passed
。
$ 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中的相同网址
无法保证不同的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解释它们)