Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76554
  • 博文数量: 18
  • 博客积分: 1530
  • 博客等级: 上尉
  • 技术积分: 196
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-18 17:51
文章分类

全部博文(18)

文章存档

2011年(4)

2010年(14)

我的朋友

分类: LINUX

2011-01-13 09:52:25


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/test001
echo tangke > old/test002
cp old new -a
echo "patch added" >> new/test001
diff -Nur old new > test001.diff
cd 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" >> test002
quilt refresh
//重新刷新这个补丁
阅读(3352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~