【问题标题】:svn dropbox checkout failssvn 保管箱结帐失败
【发布时间】:2015-01-04 15:06:40
【问题描述】:

我的 subversion 存储库位于 Dropbox 上。我想在我租用空间但无法安装完整 Dropbox 目录的服务器上签出。我有一个保管箱共享链接,但 svn checkout 说 URL 没有正确编码。我对 URL 进行了编码,但随后得到以下信息。 (为隐私修改了 URL。)

svn: 'https://www.dropbox.com/sh/r1XXXXXXXy5a/AXXXXXpzu-G0ybr7RzlHea%3Fdl%3D0'的选项: 200 OK (https://www.dropbox.com)

【问题讨论】:

  • 你能提供更多关于你的设置的信息吗?您使用什么 URL 进行结帐?你在运行什么 svn 服务器? Dropbox 如何参与其中?我有一种感觉,你想做的事情不是 Subversion 可以支持的。 SVN 和 Dropbox 一起玩有问题,因为 SVN 假设 repo 是一个且只有一个位置。但是,到目前为止,我无法判断您所说的内容。
  • 我发布的 URL 是我结帐的论据。显然,svn 需要一个文件或一个 subversion 服务器的 URL,而 dropbox 不是。所以它不会工作。似乎是一个迷你服务器而不是翻译 svn 请求 http 请求将是一个有用的东西。
  • Dropbox 不是 Subversion 服务器。 http:// 应该指向一个 Apache httpd 服务器,编译后能够运行 mod_dav_svnmod_dav 插件 -- 以及一些其他库。

标签: svn


【解决方案1】:

您不能以这种方式将 Dropbox 与 Subversion 一起使用。要将 Apache httpd 与 Subversion 一起使用,您需要使用某些库编译 Apache httpd,并且您需要使用 mod_dav_svnmod_dav 插件配置 httpd.conf。另外,您需要配置存储库和安全信息。

你能做什么?

改用 Git:我不是那些 Subversion sux,Git rulz 人之一。但是,当您遇到网络问题时,Git 将工作,因为存储库始终在本地计算机上。在这种情况下,您将 Git 存储库放在 Dropbox 下。但是,您不直接使用该存储库。相反,您可以从中克隆pushpull

滥用 Dropbox 和 Subversion 并希望得到最好的结果:不推荐,但是...

在您的本地机器上,运行 svnserve 来设置 Subversion 服务器守护进程。不能保证svnserve 在您租用空间的服务器上,但幸运的是,它通常包含在 Subversion 客户端中。您需要更新存储库中的conf/svnserve.conf 文件以允许匿名提交,或者使用该passwd 文件作为您的用户/密码数据库(我推荐后者。如果您使用后者,请将您自己添加为用户passwd 文件)。

然后用svn://localhost/... 结帐,做你的工作,然后提交。

问题在于 Subversion 存储库根本不了解它可以同时位于多个位置,因此如果两个用户使用两个不同的 svnserve 进程连接到恰好是多亏了 Dropbox,同时在两台不同的计算机上。

人们已经使用了这个配置,并且他们已经成功了,但是请注意,你不能在两台不同的机器上运行svnserve 来指向两台不同机器上的同一个 Dropbox 存储库,然后同时签出和提交更改时间。

【讨论】:

  • 如果有一个提交者并且可能有多个读者怎么办。 svn + Dropbox 可以在那里工作吗?
  • 我什至不能保证 Dropbox/SVN 组合适用于单个用户。你可以试试看。但是,所有用户都应该在同一台机器上使用相同的svnserve 进程。
猜你喜欢
  • 2014-10-14
  • 2018-11-22
  • 2012-10-07
  • 2011-09-13
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
相关资源
最近更新 更多