quilt是一个帮助我们管理补丁的程序。quilt的命令格式类似于cvs:
quilt 子命令 [参数]
0.46版的quilt有29个子命令。
掌握quilt的关键是了解使用quilt的流程。
使用quilt时,我们会在一个完整的源代码树里工作。只要我们在源代码树里使用了quilt命令,quilt就会在源代码树的根目录建立两个特殊目录:patches和.pc。quilt在patches目录保存它管理的所有补丁。quilt用.pc目录保存自己的内部>工作状态,用户不需要了解这个目录。
patches/series文件记录了quilt当前管理的补丁。补丁按照加入的顺序排列,早加入的补丁在前。quilt用堆栈的概念管理补丁的应用。
我们在应用补丁A前,必须先应用所有早于补丁A的补丁。所以,patches/series中的补丁总是从上向下应用。例如:上图中,补丁1到补丁5是>已经应用的补丁。我们可以将已应用的补丁想象成一个向下生长的堆栈,栈顶就是已应用的最新补丁。应用补丁就是将补丁入栈,撤销补丁就>是将补丁出栈。
我们在源代码树中作任何修改前,必须用"quilt add"命令将要修改的文件与一个补丁联系起来。在完成修改后,用"quilt refresh"命令将修>改保存到已联系的补丁。
mkdir old echo hello world > old/test001echo tangke > old/test002cp old new -aecho "patch added" >> new/test001diff -Nur old new > test001.diffcd old
quilt import ../test001.diff//导入一个patch 文件,将会自动生成patches目录,并且将test001.diff复制到该目录下面quilt push -a
//将所有的patch 文件压入堆栈,相当于打上所有的补丁
quilt applied
//查看所有已打的补丁
quilt unapplied
//查看所有未打的补丁
quilt series
//查看所有的补丁
quilt new test002.diff//新建一个补丁quilt add test002//将该补丁和某个文件联系一起[补丁和某个文件连接起来,可能这个就是quilt和其他方式不同的一个地方吧]echo "old add data" >> test002quilt refresh
//重新刷新这个补丁
阅读(3450) | 评论(0) | 转发(0) |