我们一直在为一个研究实验室使用Subversion存储库一段时间,并且一再提出一个常见问题:
我们希望对所有代码和一小部分永久数据进行版本控制,但我们也有大型二进制blob存在于用户检出中的被忽略目录中,我们希望用户能够轻松支持这些文件并将它们同步,以便多个用户可以使用更大的blob,而无需在机器之间手动复制它们或将它们检入存储库(它已经有了比理想情况更多的东西)。
我已经考虑过使用各种备份服务,比如JungleDisk,至少可以让用户轻松备份这些数据,但它们并不是真正用于同步的。另外,仅仅使用JungleDisk也不太理想,因为有时数据文件非常大并且等待它们被高速缓存会显着降低性能。
其他替代方案可能是提供rsync的副本,并且只是使用存储库中的一些shell脚本,用户可以手动同步文件(与svn checkouts / commits分开),但是这样做会很好在Mac,Windows和Windows上以极少的努力工作适用于可能不是技术最精明的用户的Linux。因此,理想的做法是易于配置(对于新的无版本文件),易于安装(更少的步骤更好),并且不需要太多的用户干预来使系统工作(自动,或只是双倍)点击一个脚本会很好。)
有任何想法或建议吗?
答案 0 :(得分:4)
我会创建一个rsync脚本,然后将subversion二进制文件包装在其中。可能需要一些进一步的脚本来为最终用户安装它(尽管你只有一些,只需手动完成)。
此外,如果可能的话,我会尝试将这些二进制blob移动到除了你的subversion树之外的某个位置......这似乎只是在寻找麻烦。
在所有这些情况下,支持窗口只是一种痛苦。我个人使用python来完成这项任务,因为它在所有这些系统中都相当便携。