Svn 文本数据版本控制的最佳实践
对几个大型(100MB+)CSV文件中包含的数据进行版本控制的最佳做法是什么 SVN是一个好的选择吗 更新: 在考虑了一段时间后,我觉得对CSV文件进行GZIP/Zip压缩,然后将其添加到repo中可能是一个更好的选择。这样,我就省去了版本管理的麻烦,同时又不会损失磁盘空间。这至少和手动管理他们的版本一样好,如果不是更好的话 仍然在寻找完美的解决方案 还有一个小提示:Svn 文本数据版本控制的最佳实践,svn,version-control,csv,Svn,Version Control,Csv,对几个大型(100MB+)CSV文件中包含的数据进行版本控制的最佳做法是什么 SVN是一个好的选择吗 更新: 在考虑了一段时间后,我觉得对CSV文件进行GZIP/Zip压缩,然后将其添加到repo中可能是一个更好的选择。这样,我就省去了版本管理的麻烦,同时又不会损失磁盘空间。这至少和手动管理他们的版本一样好,如果不是更好的话 仍然在寻找完美的解决方案 还有一个小提示: 不要求对文件内容进行版本控制。就像我不需要知道文件中发生了什么变化,只要我能够记录变化的摘要或为每个版本添加注释。SVN速度非常
不要求对文件内容进行版本控制。就像我不需要知道文件中发生了什么变化,只要我能够记录变化的摘要或为每个版本添加注释。SVN速度非常慢,因为它通过网络传输所有数据。 请尝试使用本地git或hg存储库。这只需要文件访问,应该比网络快得多。这两种repo类型在移动文件、文件重命名和合并方面也有更好的处理能力。此外,git还可以使用“插件”来支持进一步的文件类型,例如合并office文档(odf、doc等) 与SVN不同,您只有一个包含压缩存储库的隐藏repo dir。SVN在每个包含文件(和其他内容)最后状态的子目录中都有一个.SVN目录 一些随机数: 假设存储库中所有文件(非回购信息)的大小为100MB
- SVN签出需要200到250MB,所有旧版本都必须从SVN服务器传输
- git或hg repo需要150MB(假设文件可以很好地压缩),包括所有版本的文件
关于答案,我还建议在CSV文件或文件名中添加一些版本信息。Git将识别文件重命名,包括更改等。这在很大程度上取决于您打算如何使用这些文件 SVN和大多数其他源代码管理系统将为您提供版本号,以唯一标识文件的特定版本。每次提交新CSV时,此提交都会有自己的修订号 然而 根据使用情况,这可能不是一个好的解决方案。假设您签入了CSV,这在SVN修订号1234上。然后有人将该文件签出,可能会将其发送给其他人等。CSV持有者将无法从CSV中知道该文件的修订版本,因此无法知道他们是否使用了最新版本 就我个人而言,我会在文件名中添加一个版本号,或者在CSV的开始/结束处添加一行,其中包含一个版本号,但是这也取决于您的使用情况 值得深思的是 此外,编辑Diff可能存在问题,我不确定SVN是否支持CSV上的Diff,因此每次您签入时,通过SVN内部,它可能会完全替换旧文件(保留旧文件以供参考)。这可能会迅速占用大量磁盘空间