【问题标题】:Using Subversion with DropBox将 Subversion 与 DropBox 一起使用
【发布时间】:2011-01-07 04:10:03
【问题描述】:

使用 DropBox 作为 Subversion 存储库的备份系统是不是一个坏主意?

有没有人尝试过将 Subversion 与 DropBox 等在线文件共享实用程序结合使用?你有什么经验?

我担心这是否会起作用 - 主要是因为 Subversion 维护锁并且它非常具体。我不确定 DropBox 和 Subversion 是否可以一起工作?

附言我正在考虑将它用于我的 Xcode 项目,不,我不想使用 github,因为它不是免费的 - 您不能使用免费帐户(以及其他原因)将您的存储库保持私有。


参考资料:

DropBox(文件同步、共享、在线备份)

Subversion(开源版本控制系统)

【问题讨论】:

  • 我认为您将 Git 与其中一种 Git 托管服务混淆了。也许是 Github?
  • 作为记录,git 是免费的:git-scm.com。 Github,不适用于私人存储库。你甚至可以在没有远程服务器的情况下使用git
  • 你真的应该看看 Mercurial(或已经建议的其他 DVCS,如 git)——听起来更适合你,我不知道你为什么要在开始时选择 Subversion今天出去。
  • 是的,我指的是 Github。 Git 与 Subversion 几乎相同。 @GraemeF,为什么 subversion 不适合我的情况?
  • 很多人正在从 Subversion 迁移(或希望他们可以),因为 DVCS 更加灵活。有一个谷歌。 :)

标签: svn xcode backup dropbox


【解决方案1】:

我的 Dropbox、SVN 和 Xcode 在这里运行良好,我从来没有遇到过任何问题。

您甚至无需小心从哪台机器提交/更新,因为 Dropbox 会保持一切同步。

【讨论】:

  • 当多个人在一个项目上工作并且他们都在不断地向 Subversion 存储库提交更改并获取更新时怎么样?我担心颠覆可能会遇到锁定问题,或者 DropBox 在更新时可能会遇到锁定问题。对此有什么想法吗?
  • 我只使用 Dropbox 来保持 2 台机器同步,所以我无法真正发表评论,但我不明白为什么会有任何问题,Dropbox 所做的只是同步任何更改文件,它没有似乎对他们持有任何锁。但是,我不想使用 Dropbox 在团队之间同步源代码,没有版本控制或责备/表扬日志。
  • 然而...这是征服世界的下一步(我希望)。 :P
  • 没有下一步,Dropbox已经征服了世界:)
  • 哇.. 请问我如何设置 Dropbox、SVN 和 Xcode。我是颠覆的新手。谢谢
【解决方案2】:

我的建议是将保管箱与 TrueCrypt 等加密工具一起使用。这样一来,您就可以在云端拥有一个安全的存储空间。

SVN 在 TrueCrypt 磁盘中完美运行。

如果您需要在多个位置同时访问存储库,我建议您使用 subversion 主机提供程序。如果两个人同时修改同一个文件,DropBox 可能会感到困惑。

http://wiki.dropbox.com/TipsAndTricks/IncreasePrivacyAndSafety

http://www.randomwire.com/storing-sensitive-data-in-the-cloud

【讨论】:

  • 如果您担心安全问题,您还可以将您的 SVN 存储库放在一个加密的磁盘映像上,然后您可以将其放在保管箱中 :)
  • 今天刚找到这个:webupd8.org/2011/06/encrypt-your-private-dropbox-data-with.html。文件。似乎与我正在寻找的内容非常接近[您可以加密 Dropbox 的特定文件夹]。
  • 更新到之前的评论:当使用带有 dropbox 的 ENCFS 时,请确保 dropbox 和 encfs 以正确的顺序启动,否则可能会发生灾难。更多信息:forums.dropbox.com/topic.php?id=15065
  • 如果您的意思是创建一个 TrueCrypt 加密文件容器,那么潜在的问题是每个小的修改都必须重新上传一个非常大的文件,除非 Dropbox 只能发送文件的更改部分。
  • @SimonT 似乎保管箱只是uploading the changed part。但是,加密磁盘中包含的文件中的微小变化可能会导致更大的变化。
【解决方案3】:

为什么要在 Dropbox 中使用 SVN?相反,您可以使用自己的 SVN 服务器和类似 Dropbox 的界面:来自 Assembla 的 EasySVNIQBox-SVN

【讨论】:

    【解决方案4】:

    也许这会对你有所帮助。我已将 SVN 存储库放在 Dropbox 文件夹中。 http://foyzulkarim.blogspot.com/2012/12/dropbox-as-svn-repository.html

    【讨论】:

      【解决方案5】:

      您可以简单地从 Dropbox 中排除 .svn 文件夹:(Mac 的说明)

      1. 您需要查看 .svn 文件夹,因此进入终端并执行

        defaults write com.apple.Finder AppleShowAllFiles YES
        killall Finder
        
      2. 转到您的文件夹,然后将 .svn 文件夹复制到其他地方

      3. 转到您的 Dropbox-Preferences > Advanced > Selective Sync 并停用 .svn-Folder

      4. 现在应该从您的 HD 和 Dropbox 中删除该文件夹,您可以在网站上查看。

      5. 将 .svn 文件夹的副本放回目录中。您应该会看到一个灰色的小符号,例如 (-)

      6. 使用

        还原步骤 1
        defaults write com.apple.Finder AppleShowAllFiles NO
        killall Finder
        
      7. 就是这样!

      【讨论】:

        【解决方案6】:

        如果您不从不同位置访问存储库,我认为它可能会正常工作,并且在使用它之前先进行同步。不过,这似乎不是一个非常稳定的解决方案。

        您是否有任何理由不能为您的存储库提供公开的 URL?

        【讨论】:

          【解决方案7】:

          根据您要同步的文件数量,最终可能会进行大量文件传输。 (请记住,您在 Dropbox 上只有 200MB,而免费帐户没有任何额外的存储空间。)这意味着所有 .svn(或 _svn)文件也将被同步,实际上需要保持更新的文件数量增加了一倍。

          如果初始同步完成后您不需要在树中移动整个目录,那么传输应该是可敬的。

          我自己在一些项目中尝试过,效果还不错,但最后我认为将 Subversion 存储库和 Dropbox 一起使用的最佳方法是将它们用于部署构建。我不会只将 Dropbox 设置为与我的工作文件夹同步。使用 Dropbox 在一天结束时通过按计划的时间间隔将工作文件夹复制到实际的 Dropbox 文件夹进行同步,从而限制前者可能产生的持续网络流量。

          【讨论】:

          • 初始 Dropbox 帐户为 2GB
          【解决方案8】:

          我在使用 Dropbox 同步 svn 存储库时遇到问题, 一旦 Dropbox 无法访问一个文件,该文件就不会再次同步。 然后,svn结构就被破坏了……

          【讨论】:

            【解决方案9】:

            SVN Backups to Dropbox。这会生成 SVN 存储库的完整或增量转储,并将压缩结果上传到 Dropbox。这种方法的主要优点是它不使用 Dropbox 客户端软件。 Dropbox 客户端软件在您的计算机和云之间同步,并且会同步损坏的文件。您可以创建一个 cronjob(或 Windows 计划任务)来每天/每周/每月/等运行此脚本。

            【讨论】:

              【解决方案10】:

              不是微不足道的方法...

              第一个想法总是“好的,让我们将 repo 保存在 Dropbox 上,剩下的事情交给它”。没有。正如您所期望的那样,这个组合总是会给您带来锁定问题。我尝试过是因为我喜欢 svn 的简单性,但我最终将我的一些存储库移动到了 git,只是为了使同步完美无缺。

              现在我仍然不是 git 粉丝(由于我的客户的版本控制选择,在不可避免地使用了几年之后)所以这里有一些不做我做过的事情的想法:

              你可以做什么

              1. RiouxSVN
                有一个非常好的(而且令人惊讶的是,免费的)svn 托管服务:https://riouxsvn.com/ - 这是一种严肃的方式,可以将您的存储库保存在安全的地方,与您的计算机物理分离,只要您有连接就可以在任何地方使用。所以基本上,我猜你想用 DropBox 实现什么。

              2. 提交后
                您可以轻松创建将本地存储库复制到 DropBox 的提交后批处理。让它成为一个差分镜像,一个名为 robocopy 的内置工具可以为您解决这个问题。这样,您将始终在天空中拥有一个安全的实例。

              3. 分散 DropBox 同步
                这只是一个肮脏的技巧,如果没有其他方法似乎起作用 - 一个带有大文件副本的预提交挂钩,会导致 DropBox 明显延迟并防止同时打开 svn 正在处理的相同文件。如果您有更好的选择,不推荐。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2014-02-27
                • 1970-01-01
                • 2011-04-07
                相关资源
                最近更新 更多