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




版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-08-16 17:30  phlsheji  阅读(487)  评论(0编辑  收藏  举报