1

这可能不是一个核心编程问题,但它与我怀疑的程序员使用的一些工具有关。

所以我们是一群人,每个人都有一堆文档和一堆不同的计算机,在一堆操作系统上(好吧,只有 2 个,linux 和 windows)。存储/管理这些文档的最佳方式是它们是否可以离线使用(笔记本电脑可能并不总是在线),但也可以在所有机器之间同步。将具有额外可靠存储的服务器作为“基础存储库”对我来说似乎是个好主意。

我想到了使用 SCM,我尝试过 Subversion,它使用集中式存储库似乎是一件好事 - 但是:

  • 结帐时结帐的总尺寸大约是原始尺寸的两倍。
  • 大文件或大存储库似乎会减慢它的速度。

我也尝试过 rsync,它可能会起作用 - 但在涉及潜在冲突时它有点粗糙。

最后,我尝试了 Unison(我认为它是 rsync 的包装),虽然它可以工作,但对于我们这里的大目录来说,它变得非常慢,因为它必须扫描所有内容。

所以问题是 - 是否有一个 SCM 工具实际上可以用于一大堆大小文件?如果那不是 - 有没有人知道做这项工作的其他工具?

谢谢阅读 :)

4

2 回答 2

2

您可以试用分布式版本控制系统,例如 Mercurial、Git 或 Bazaar。似乎其中之一非常适合您要完成的工作。

Joel Spolskey 在这里有一个很棒的小教程:hginit.com。谢谢卡梅因。

于 2010-05-04T15:20:28.273 回答
0

一些细节将使我们能够提供更有意义的答案。例如:

什么类型的文件?您在处理图像、Word 文档、文本文件吗?以上全部还是全部?

Subversion(以及任何值得它的盐的源代码控制系统)通过仅保存用于签入的增量来工作。也就是说,当您签入文件时,只会保存该文件与之前版本之间的差异。这样更容易节省空间。签入更改了几个像素的 1MB Photoshop 将占用比全新文档更少的存储库空间。这通常与文件类型无关(即,它适用于二进制文件和文本)。

如果您的签出导致文件大于签入的文件,我会说您有某种配置或流程问题。如果您签入一个 200KB 的文件,您将在签出时收到一个 200KB 的文件。你能描述一下你的结帐/修改/签入过程吗?

SVN、TFS 等在许多不同的环境中大规模使用它是一种简单、免费且非常可靠的解决方案。但是,如果您的受众主要是非程序员,那么对用户更友好的 SCM 可能是更好的选择。

于 2010-05-04T15:21:35.800 回答