u-boot移植随笔:继续使用svn进行版本控制(合并分支实例)

whiteShiKu 2011-03-19

搞u-boot很久了,一直在用svn进行版本控制,感觉非常好。

不过我是最近才找到合并分支的方法,这里介绍一下。

首先说一下我的环境。

1、使用svn开发的模式:

所有开发都在分支进行,完成某一阶段时,将其合并到主干上,同时作一标签,即tag。svn_repos仓库中u-boot目录下有三个目录:trunk、branches、tags,分别保存主干代码、分支代码和标签。分支名称如u-boot-branch-xxx,标签名称如release-1.x_xxx。比如u-boot-branch-kernel表示这个分支主要任务是使用u-boot启动内核,release-1.2_i2c表示这个版本的i2c驱动已经没问题。等等。

2、路径使用环境变量UBOOT表示,实际路径为:

$ echo $UBOOT
/home/latelee/svn_repos/u-boot

3、网上找到的合并方法:

 1):进入主干的svn目录;
 2):首先查询出创建分支的开始版本;

 3):使用svn merge命令合并分支;

 4):使用svn commit -m "msg"。

[www.linuxidc.com@linuxidc u-boot-2010.09]$ svn st   
  1. M      include/linux/mtd/mtd.h   
  2. M      include/configs/smdk2440.h   
  3. M      common/cmd_nand.c   
  4. M      drivers/mtd/nand/nand_base.c   
  5. M      drivers/mtd/nand/nand_util.c  

check in:

  1. [www.linuxidc.com@linuxidc u-boot-2010.09]$ svn ci -m "add nand write.yaffs2 cmd,this version can boot kernel and rootfs"  
  2. 正在发送       common/cmd_nand.c   
  3. 正在发送       drivers/mtd/nand/nand_base.c   
  4. 正在发送       drivers/mtd/nand/nand_util.c   
  5. 正在发送       include/configs/smdk2440.h   
  6. 正在发送       include/linux/mtd/mtd.h   
  7. 传输文件数据.....   
  8. 提交后的版本为 57。  

由于我忘记了写version-log(文件名称就是version-log.txt)了,因此修改后再次提交:

查看修改:
  1. [www.linuxidc.com@linuxidc u-boot-2010.09]$ svn ci -m "add info in version-log.txt"  
  2. 正在发送       version-log.txt   
  3. 传输文件数据.   
  4. 提交后的版本为 58。  

进入trunk目录(我的trunk目录与u-boot-2010.09在同一目录下):

 
  1. [www.linuxidc.com@linuxidc u-boot-2010.09]$ cd ../trunk/  


查看这个分支与trunk分离后所有的修改,最下面的版本号就是创建分支开始的版本:

  1. [www.linuxidc.com@linuxidc trunk]$ svn log -q --stop-on-copy file:///$UBOOT/branches/u-boot-branch-nand   
  2. ------------------------------------------------------------------------   
  3. r58 | latelee | 2011-03-18 15:09:00 +0800 (五, 2011-03-18)   
  4. ------------------------------------------------------------------------   
  5. r57 | latelee | 2011-03-18 15:05:49 +0800 (五, 2011-03-18)   
  6. ------------------------------------------------------------------------   
  7. r56 | latelee | 2011-03-18 09:32:51 +0800 (五, 2011-03-18)   
  8. ------------------------------------------------------------------------   
  9. r55 | latelee | 2011-03-14 08:25:00 +0800 (一, 2011-03-14)   
  10. ------------------------------------------------------------------------  

合并:

  1. [www.linuxidc.com@linuxidc trunk]$ svn merge -r 55:HEAD file:///$UBOOT/branches/u-boot-branch-nand   
  2. U    version-log.txt   
  3. U    include/linux/mtd/mtd.h   
  4. U    include/configs/smdk2440.h   
  5. U    board/samsung/smdk2440/smdk2440.c   
  6. U    board/samsung/smdk2440/flash.c   
  7. U    common/cmd_nand.c   
  8. U    common/serial.c   
  9. U    arch/arm/include/asm/arch-s3c24x0/s3c24x0_cpu.h   
  10. A    arch/arm/include/asm/arch-s3c24x0/s3c2440.h   
  11. U    arch/arm/include/asm/arch-s3c24x0/s3c24x0.h   
  12. U    arch/arm/cpu/arm920t/s3c24x0/timer.c   
  13. U    drivers/mtd/nand/s3c2410_nand.c   
  14. A    drivers/mtd/nand/s3c2440_nand.c   
  15. U    drivers/mtd/nand/nand_base.c   
  16. U    drivers/mtd/nand/nand_util.c   
  17. U    drivers/mtd/nand/nand.c   
  18. U    drivers/mtd/nand/Makefile   
  19. U    drivers/i2c/s3c24x0_i2c.c  

提交:

  1. [www.linuxidc.com@linuxidc trunk]$ svn ci -m "merge branch 'nand' to trunk"  
  2. 正在发送       arch/arm/cpu/arm920t/s3c24x0/timer.c   
  3. 增加           arch/arm/include/asm/arch-s3c24x0/s3c2440.h   
  4. 正在发送       arch/arm/include/asm/arch-s3c24x0/s3c24x0.h   
  5. 正在发送       arch/arm/include/asm/arch-s3c24x0/s3c24x0_cpu.h   
  6. 正在发送       board/samsung/smdk2440/flash.c   
  7. 正在发送       board/samsung/smdk2440/smdk2440.c   
  8. 正在发送       common/cmd_nand.c   
  9. 正在发送       common/serial.c   
  10. 正在发送       drivers/i2c/s3c24x0_i2c.c   
  11. 正在发送       drivers/mtd/nand/Makefile   
  12. 正在发送       drivers/mtd/nand/nand.c   
  13. 正在发送       drivers/mtd/nand/nand_base.c   
  14. 正在发送       drivers/mtd/nand/nand_util.c   
  15. 正在发送       drivers/mtd/nand/s3c2410_nand.c   
  16. 增加           drivers/mtd/nand/s3c2440_nand.c   
  17. 正在发送       include/configs/smdk2440.h   
  18. 正在发送       include/linux/mtd/mtd.h   
  19. 正在发送       version-log.txt   
  20. 传输文件数据................   
  21. 提交后的版本为 59。  

将这个版本作一tag:

  1. [www.linuxidc.com@linuxidc trunk]$ svn copy file:///$UBOOT/trunk file:///$UBOOT/tags/release-1.4_nand -m "tagging nand tag"   
  2.   
  3. 提交后的版本为 60。  

作分支:

  1. [www.linuxidc.com@linuxidc trunk]$ svn copy file:///$UBOOT/trunk file:///$UBOOT/branches/u-boot-branch-nandboot -m "branch 'nandboot' for booting u-boot from nand flash"    
  2.   
  3. 提交后的版本为 61。  

检出:

相关推荐