Dropbox共享文件夹版本控制与mercurial

时间:2011-05-25 13:35:25

标签: mercurial dropbox

我目前有一个共享文件夹,其他2个(不是非常技术性的)人们喜欢删除有趣的文章(通常是.pdf),并且还保留一个名为randomIdeas的文本文件,他们在文本中添加任何弹出文字。

问题是有人添加到顶部,另一个添加到底部,添加中间的东西等等。我讨厌每次重读整个文件,看看自从我习惯于审查变更集以来发生了什么变化。 ..我需要一些帮助来制定一个策略来对这些文件进行版本化(我不喜欢dropbox'版本化')和mercurial,所以我可以很快看到变更集。

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

如何实现这一目标的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

以下是您可能会考虑的一些变体和想法:

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

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

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

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

答案 1 :(得分:0)

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

它在VB.NET Express(免费)中,如果需要,您可以通过一些简单的VB.NET修改来自定义它。

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