【问题标题】:Using SVN on Windows with Cygwin and TortoiseSVN在带有 Cygwin 和 TortoiseSVN 的 Windows 上使用 SVN
【发布时间】:2012-07-14 15:57:37
【问题描述】:

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

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

我怎样才能让这两者一起工作?我可以使用其他双方都理解的路径/协议吗?

谢谢!

【问题讨论】:

  • @malenkiy_scot,问题是,当我在 shell 中创建存储库然后尝试在文件夹上运行 tortoiseSVN repo 浏览器时,它会抛出错误 Unable to connect to a repository at URL 'file:///cygdrive/c/...
  • 只是.svn文件夹中的路径信息对于windows系统是false。
  • 好吧,我越是尝试在网上搜索越多似乎不可能将这两者混合在一起,因为即使 svn 处理器也不同(unix vs win)......
  • @bahrep,因为从命令行而不是像 tortoiseSVN 这样的 GUI 应用程序运行命令通常很有用。而且我通常使用 cygwin,因为标准的 Windows 命令行很糟糕。但目前我通过使用 windows cmd“修复”它。
  • 可能使用相同的工作副本,但他使用 file:// 协议通过文件系统访问存储库,而不是通过服务器。在这种情况下,指定文件系统信息的格式在 cygwin 和“普通”Windows 应用程序之间是不同的。

标签: windows svn tortoisesvn cygwin


【解决方案1】:

简单的方法是使用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 中这将是相同的 URL


单词'O警告

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

幸运的是,Tortoise 和标准的 Subversion 命令行客户端似乎没问题。在过去的几年里,我一直能够在 Subversion 命令行客户端和 ToroiseSVN 之间切换。 但是,您必须确保它们都是 ether post 1.7 版客户端或 pre 1.7 客户端。如果您的 Cygwin 客户端是 1.6.7 版本,而您的 Tortoise 客户端是 1.7.5,则无法共享工作目录。使用svn version 命令检查您的 Cygwin 客户端,并检查 Tortoise 上的 关于框

同样,不能保证两个客户端可以共享同一个工作目录,所以如果出现问题,您只能靠自己。

【讨论】:

  • 谢谢你,大卫,我一定会看看的。同时,我只是使用了 windows 命令提示符的 subversion,它与 Tortoise 配合得很好。
【解决方案2】:

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

ln -s /cygdrive/c /C:

现在应该可以了。

归功于马克·马拉克诺夫 你可以在这里阅读:

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

【讨论】:

    【解决方案3】:

    如果您(重新)安装 TortoiseSVN 并选择安装 (Windows) 命令行工具的选项,但不要从 Cygwin 安装程序安装这些工具的 Cygwin/Linux 版本(或删除它们),那么您的 Windows 工具仍可通过 Cygwin 使用。

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

    【讨论】:

    • 注意:我自己没有在本地仓库中尝试过这个;我更喜欢按照 David 的建议运行本地服务器 - 我通常只是将 VisualSVN 放到 windows 框中并在其中设置 repos。
    猜你喜欢
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    相关资源
    最近更新 更多