CVS并行版本管理.-冲突和合并

 

安装好CVS后(参考 CVS并行版本管理.-安装和设置), 现在熟悉一下CVS的基本概念

现在假设CVS服务器上有一文件test.c, 版本是1.1
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
" ");
ExpandedBlockEnd.gif}
我和另一个人同时取出(check out)文件test.c到本地进行修改

另一个人的修改如下, 并且已经向CvsServer提交, CVS服务器上文件版本变为1.2
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
"另一个人");
ExpandedBlockEnd.gif}

我的修改是
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
"");
ExpandedBlockEnd.gif}
因为服务器上已经有了新的版本, 这时我提交就会产生错误, 要先进行更新, 这次更新不同平时, 提示产生冲突, 需要做人工合并

我的本地文件test.c被复制一个备份.#test.c.1.1而test.c则变成如下
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif
<<<<<<< test.c
InBlock.gif printf(
"");
InBlock.gif
=======
InBlock.gif printf(
"另一个人");
InBlock.gif
>>>>>>> 1.2
ExpandedBlockEnd.gif}
很明显上边的是我的程序, 下边是服务器版本的程序, 不同的地方被标志起来了, 进行修改然后删除那些标志, 程序如下
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
"另一个人\n");
InBlock.gif printf(
"");
ExpandedBlockEnd.gif}
然后再次提交, 提交成功, 服务器上文件版本变成1.3

另一个人也更新了一下, 也看到了printf("我");这一行


接下来修改不同的行, 看看有什么不同

另一个人的修改如下, 并且已经向CvsServer提交, CVS服务器上文件版本变为1.4
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
"另一个人再次修改\n");
InBlock.gif printf(
"");
ExpandedBlockEnd.gif}

我的修改是
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
"另一个人\n");
InBlock.gif printf(
"我再改");
ExpandedBlockEnd.gif}
因为服务器上已经有了新的版本, 这时我提交就会产生错误, 要先进行更新, 这次更新显示CVS自动把文件合并了, 如下
ExpandedBlockStart.gifContractedBlock.gifvoid foo dot.gif{
InBlock.gif printf(
"另一个人再次修改\n");
InBlock.gif printf(
"我再改");
ExpandedBlockEnd.gif}
然后再次提交, 提交成功, 服务器上文件版本变成1.5

转载于:https://www.cnblogs.com/jacklaw/archive/2007/07/12/815929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值