个人 Dropbox 应使用哪种版本控制软件?

个人 Dropbox 应使用哪种版本控制软件?

我想建立一个类似于 Dropbox 的同步存储库。

目标/要求:

  1. 免费(最好使用开源软件)
  2. Linux 主机(可能是 Ubuntu)
  3. Windows/Mac/Linux 客户端
  4. 可供多个用户有限访问(可选)
  5. 最好简单,不一定需要自动化
  6. 修订控制非常好

基本上,我希望能够使用多台计算机(可能使用不同的操作系统),并能够在所有计算机上访问、使用和同步文件。我还希望在未连接到网络时拥有存储库的本地副本(如果我在笔记本电脑上工作,我希望保留本地存储库以保存修订版本并在以后与“主”存储库合并)。

例如,我白天在网络之外用笔记本电脑编辑了一些图片,但是当我回到家时,我想将这些更改(包括增量更改)与家里的桌面同步。

我还希望我的室友也能访问和使用这个存储库,但限制对某些文件的访问。例如,我可能想用它来备份财务记录,但不希望他们访问这些文件。

我是一名程序员,熟悉 SVN,但我知道这不是最合适的,因为它不能很好地处理二进制文件,并且不保留本地存储库。我知道有更好的选择,但我对它们了解不够多,无法选择最好的。

答案1

对于 subversion,您可以拥有一个本地存储库 - 只需在本地创建一个即可。然后,您可以使用 svnsync 定期与远程存储库同步。或者反过来,使用远程存储库并在本地同步(就像我备份时所做的那样)。

Svn 确实能很好地处理二进制文件,或者至少与其他 SCM 一样好。二进制文件的问题在于难以区分,这不是 svn 的缺点,只是二进制文件的一个属性。

Git或者Mercurial(或者市场) 听起来更适合您的需求,因为它们是分布式 SCM,您始终在本地存储库上操作,然后将更改推送到远程存储库。 Mercurial 可能是 Windows 的最佳选择,因为您拥有良好的 GUI 工具; Bazaar 是由 Canonical 开发的,而 Git 是由 Linus 开发的。这就是大家关心的它们之间的所有区别 :) 有比较在网络上 - 除了 git 不是 Windows 原生的之外,Mercurial 可能更好,因为它更多地支持“您拥有的就是远程用户拥有的”,而 Git 更多地支持“远程用户拥有的就是您让他们拥有的”,这将需要您根据自己的需求付出更多努力(当然,两者都可以共享全部或子集,但 Mercurial 限制子集比 Git 共享全部更容易)

如果你想使用“both”,你可以git-svn或者SVK它为 SVN 添加了分布式功能。

答案2

我建议使用 git。只需为您的财务数据和“共享”数据设置不同的存储库即可。通过 ssh 授予访问权限。

答案3

也许你想尝试http://www.sparkleshare.org/ 关于此问题的最新讨论可以在以下网址找到:http://apps.ycombinator.com/item?id=1424299

答案4

文件夹. 检查一下特征知道它是否是你要找的东西。(它没有修订控制,因此如果这个功能是必须,iFolder 不是您要找的。)

您只需将文件保存在本地(就像您一直做的那样),iFolder 就会自动更新网络服务器上的文件并将其传送到您使用的其他机器。

相关内容