【问题标题】:Dropbox shared folder versioning with mercurial使用 mercurial 的 Dropbox 共享文件夹版本控制
【发布时间】:2011-05-25 13:35:24
【问题描述】:

我目前与其他 2 个人(不是非常技术性)有一个共享文件夹,他们喜欢在其中放置有趣的文章(通常是 .pdf),并保留一个名为 randomIdeas 的文本文件,他们可以在其中添加任何想到的文本。

问题是有人在顶部添加内容,另一个在底部添加内容,在中间添加内容等。我讨厌每次都重新阅读整个文件以查看发生了什么变化,因为我已经习惯了查看变更集。 .. 我需要一些帮助,想出一个使用 mercurial 对这些文件进行版本控制的策略(我不喜欢 Dropbox 的“版本控制”),这样我就可以很快看到变更集。

我想我可以为这些文件设置一个存储库以及一个每天运行一次并检测是否有更改的 cron 作业。如果有,它将提交一个新的变更集。这样我就可以轻松地查看变更集以查看发生了什么变化。唯一的问题是我不希望任何一方知道发生了什么。我不希望他们看到 .hg 文件夹,或者让该文件夹与他们同步等,因为这可能会使他们感到困惑。

任何有关如何完成此任务的帮助将不胜感激。

【问题讨论】:

  • 我不确定 mercurial 存储库将真正发挥什么作用。看起来它只是用于计算差异,而在保管箱文件夹中没有任何其他实际角色。它真的需要在同一个保管箱文件夹中吗?
  • 我不知道,是吗?但你说得对,我只是希望能够不断区分保管箱共享文件夹的内容。我还能如何做到这一点?

标签: mercurial dropbox


【解决方案1】:

您可以考虑以下一些变化和想法:

如果他们使用 Windows 资源管理器并且没有将其配置为显示隐藏文件和文件夹,您可以使用 Hidden 属性标记 .hg 文件夹。

您可以将存储库设置在更高级别,以便 .hg 文件夹位于父目录中,而不是与这些文件位于同一目录中。

您可以在您的计算机上设置一个作业,以便经常从共享存储库中提取,以确保您有备份。如果他们在进行更改的同时删除 .hg,将无法正常工作。

如果我真的担心他们会删除 .hg,我会在我的机器上做一个工作,经常重写共享目录中新文件的文本文件列表(或复制新文件 - 取决于总大小和备份计划)并将randomIdeas.txt从共享目录复制到设置为存储库的本地目录,并在那里提交。这样您就可以完全控制存储库,并且对于每次提交,您都可以看到将哪些文章/文件添加到文件夹以及对 randomIdeas.txt 进行了哪些更改。

【讨论】:

  • 将文件的多个副本保存在单独的文件夹中的想法是我想避免的。 Dropbox 共享文件夹的整个概念似乎是这样的,您不必这样做
  • 你只想要差异。该本地存储库执行此操作,并且只是 1 个备份(不是多个副本,只有 1 个)。另一种方法是使共享文件夹成为 repo,如果它发生了什么事而你没有备份,祝你好运。区分的唯一方法是以某种方式拥有以前版本的内容。
  • 再想一想,您真正需要的只是新文件列表和randomIdeas.txt的差异...
  • +1 最后一个解决方案(将文件从 Dropbox 复制到本地 repo 并在那里跟踪更改)
【解决方案2】:

如果你想使用 SVN 并使用 Windows,那么有一个我支持的开源项目: http://code.google.com/p/iqbox-svn/

它位于 VB.NET Express(免费)中,如果需要,您可以通过一些简单的 VB.NET 修改对其进行自定义。

基本上,它是使用 SVN 的实时同步。 SVN 会自动合并文本文件,除非有冲突。您需要手动管理冲突。但是对于应该可以正常工作的文件的基本“插入”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 2011-05-08
    • 2011-08-11
    相关资源
    最近更新 更多