2010-05-04 81 views
1

这可能不是一个很难的核心编程问题,但它与我怀疑程序员使用的一些工具有关。文件管理,SCM?

因此,我们一堆人每一堆文件和一堆操作系统的一堆不同的计算机(当然,只有2,Linux和Windows)。这些文档可以被存储/管理的最佳方式是,如果它们可以脱机使用(笔记本电脑可能不总是在线),但也可以在所有机器之间同步。让一台具有额外可靠存储的服务器成为“基础知识库”似乎对我来说是个好主意。

使用SCM在我脑海中,我已经尝试颠覆,这似乎是它使用一个中央存储库好东西 - 但:

  • 当检查出的结账的总大小大约是原来尺寸的两倍。
  • 大文件或大版本库似乎会减慢速度。

此外,我试过rsync,这可能会工作 - 但它有点粗糙,当涉及到潜在的冲突。

最后,我已经试过齐奏(这是rsync的一个包裹,我认为),而它的工作原理就成为我们这里有,因为它必须扫描所有的大目录可怕的慢。

所以,问题是 - 有一个SCM工具,在那里,实际上是practial使用了一大束既小又大的文件? 如果这是一个否 - 有没有人知道其他工具做这项工作?

感谢您的阅读:)

回答

2

您可以尝试在分布式版本控制系统,如水银,GIT中或集市。似乎其中的一个对于你想要完成的事情来说是完美的。

乔尔Spolskey这里有一个伟大的小水银教程:hginit.com。感谢camainc。

+0

Mercurial是一款出色的工具,它的分布式部件更加坚固。对于Windows用户,TortoiseHG是一个很棒的GUI:http://tortoisehg.bitbucket.org/ – camainc 2010-05-04 15:23:11

+0

Joel Spolskey有一个很棒的小教程:http://hginit.com/ – camainc 2010-05-04 15:24:31

+0

+1。在工作中,我们从ClearCase更改为Mercurial,测试非常好。 它的代码快很多,但不知道文档(我认为diff/changesets不能总是很容易地应用......) – 2010-05-04 15:26:16

0

有些细节可以让我们提供更有意义的答案。例如:

什么类型的文件?你正在处理图像,Word文档,文本文件?以上全部或全部不是?

颠覆(和任何源代码控制系统的价值及其盐)的工作原理是只保存了签入的增量。也就是说,当您签入一个文件时,只会保存该文件和以前版本之间的差异。这使得节省空间更容易。检入一个1MB的Photoshop有几个像素的变化将占用较少的存储空间,即一个全新的文档。这通常是文件类型不可知的(即它对于二进制文件和文本都有效)。

如果检出正导致了比什么检查较大的文件,我说你有某种配置或工艺问题。如果您签入一个200KB的文件,您将在签出时收到一个200KB的文件。你能描述你的结账/修改/签入过程吗?

SVN,TFS等在上使用,很多在很多不同的环境下都可以使用,它是一个简单,免费且非常可靠的解决方案。但是,如果你的读者主要是非程序员,那么更加用户友好的SCM可能是更好的选择。

+0

谢谢你的洞察! 实际上这是一切。 我们的一些人拍了很多照片,而且他们是我写作的双倍大小的主要关注点。为了增加细节,SVN发生了什么事情,我检查了总共4 MB的2个JPEG,但是我的.svn dir也是4 MB。如果这听起来不可能,那很可能是一个配置问题,但我应该已经运行了大多数默认配置... – tsunade 2010-05-04 15:35:29

+1

Subversion保留.svn/text-base目录中所有内容的副本,以便检测更改/做比较而不与存储库本身进行比较。这意味着默认情况下,颠覆性检出的大小是存储库的两倍。我不知道是否有可能以某种方式关闭它。 – MatsT 2010-05-04 15:45:23

+0

我忘记了影子副本。 – 2010-05-04 16:10:05