SVN在branch兼并和游戏patch(1)
近期要hadoop2.4关于上面的行hdfs raid,但在此之前hdfs raid如svn 的branch发展,领导人希望patch方式hdfs raid功能进球trunk里面去,这里涉及到svn branch和trunk的合并问题,下面是hdfs raid 打patch的详细过程。
1、保证当前 hdfs raid 的branch分支是clean的。也就是说使用svn status看不到不论什么的本地改动。
2、将trunk中全部的patch打进trunk。并提交这些patch
3、命令行切换到trunk文件夹。运行:
svn merge https://example.com/hadoop-2.4.0/branch/hadoop-2.4.0-hdfs-raid/
将branch分支上的修改merge回trunk下。
当然在merge你也能够指定Branch上那些版本号变更能够合并到trunk中。命令例如以下:
svn merge https://example.com/hadoop-2.4.0/branch/hadoop-2.4.0-hdfs-raid/ r117893:HEAD
以上演示样例中是将hdfs raid branch从版本号117893到当前版本号的全部修改都合并到trunk中。
当然你也能够将trunk中的某些更新合并到hdfs raid branch中,还是相同的方法。
4、假设出现merge冲突则进行解决(http://zccst.iteye.com/blog/1765519)。然后就能够将hdfs raid branch的代码基于trunk打patch了,命令:
svn diff > hdfs-raid.patch
这样打patch的时候发现仅仅能打hdfs改动部分的代码,而raid部分新加的代码打不进来,须要进行下面操作:
svn add hadoop-tools/hadoop-raid/运行svn status,发现hadoop-tools/hadoop-raid/target以下的文件也被add了。这部分文件是不须要提交到svn的,须要撤销svn add,运行下面命令:
svn revert --recursive hadoop-tools/hadoop-raid/target
在运行svn status,这个时候发现仅仅有须要的文件被add了,然后运行打patch命令:
svn diff > hdfs-raid.patch这样一来,就把全部的文件都打进了patch。
说明:假设在打patch时出现下面提示:
Hunk #1 succeeded at 1254 (offset 23 lines). Hunk #2 succeeded at 1794 (offset 23 lines).
能够參考http://blog.csdn.net/longerzone/article/details/16967579进行解决。
參考链接:
http://www.cnblogs.com/huang0925/p/3254243.html
http://zccst.iteye.com/blog/1765519
http://blog.csdn.net/longerzone/article/details/16967579
版权声明:本文博客原创文章,博客,未经同意,不得转载。