我有一个项目需要维护文本和二进制文件的更改。我有几个选择:
就我的目的而言,补丁是一个更好的选择,如果它只是文本文件。但是,由于有些图像可能被替换/添加/删除,这是最好的方法吗?
是否有一个干净的差异/补丁实用程序,可以处理二进制差异(没有我必须指定它是二进制 - 我应该能够区分整个目录而不是单个文件,我不能用bash的二进制模式差异)并将它们用作补丁? 如果不是,在二进制文件方面,哪个版本控制系统更清晰?
答案 0 :(得分:2)
Git和Mercurial都可以轻松处理文本和二进制文件。使用您喜欢的任何一种。是的,VCS是正确的选择。
答案 1 :(得分:2)
Mercurial有补丁队列的概念(启用了mq扩展名),很大程度上受到quilt的启发。
这允许您以多种方式管理补丁:
作为奖励,由于补丁队列实际上是补丁文件,您可以轻松更改其顺序,甚至可以将它们从一个队列移动/复制到另一个队列(查看.hg目录以查找补丁队列)。
您可以在Steve Losh's tutorial on mercurial queue找到有关管理补丁队列的更多有用信息。
答案 2 :(得分:0)
如果您不喜欢VCS,请尝试使用包含补丁的ftp服务器。版本号可以用作目录名。可以使用脚本备份此系统,该脚本根据目录名称顺序应用修补程序。
在我正在进行的项目中,以这种方式应用数据库补丁。但是,它们保留在VCS中。文件可用于维护当前版本,脚本将读取该文件以决定应用哪个补丁。