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

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

时间: 2024-08-22 01:06:41

SVN在branch兼并和游戏patch(1)的相关文章

SVN中branch的合并和打patch(2)

前一篇文章讲了svn的branch和trunk合并方法,本文会讲更简单的合并方式: 1.切换到branch目录,执行: svn log > svn.log 找到branch和trunk分开的初始svn版本号: cat svn.log ......... ......... ------------------------------------------------------------------------ r123399 | liangjun | 2014-07-30 18:21:40

SVN中branch的合并和打patch

最近要在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.命令

svn的branch truck tag

对于branch truck tag一直迷迷糊糊的,想搞明白,但是一直又没来弄明白,最近就用了这种方式来开发 可以我又不是完全了解怎么操作,所以查看了下资料,这个解释得很详细呀,连我都看得懂的东西,真所谓"写得真好",记录下,转载http://blog.csdn.net/keda8997110/article/details/21813035 先说说什么是branch.按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一

SVN中Branch的创建与合并

SVN中Branch的创建与合并 在使用源代码版本控制工具时,最佳实践是一直保持一个主干版本.但是为了应付实际开发中的各种情况,适时的开辟一些分支也是很有必要的.比如在持续开发新功能的同时,需要发布一个新版本,那么就需要从开发主干中建立一个用于发布的分支,在分支上进行bug fix,维护版本的稳定,并适时的将一些改动合并回主干.目前大红大紫的源代码版本控制工具git很受大家推崇,原因之一就是其在这方面的功能相当强大.其实老牌的SVN也是有这样的功能的,接下来就给大家讲解下. Branch的创建

svn url does not contain valid patch

想把项目上传到svn上,由于误点击了apply patch.所以出现下面的错误. 正确做法是在项目上右击找到Team----share Project 如图: 点击share project后出现如图所示: 选择svn,之后就是按照操作一步步next即可.其中需要输入你公司的svn地址,和你的svn用户名和密码. 项目上传到svn之后,项目上出现*号,文件上出现问号表示文件上传成功!

svn hooks的post-commit(游戏自动发布)

#!/bin/sh # POST-COMMIT HOOK # # The post-commit hook is invoked after a commit.  Subversion runs # this hook by invoking a program (script, executable, binary, etc.) # named 'post-commit' (for which this file is a template) with the # following orde

巧用svn create patch(打补丁)方案解决定制版需求

最近项目定制版越来越多,维护,同步代码非常费事.以前的思路如下图: 以前的svn目录结构如下图: 这样问题有2个: 若在一个定制包中修复了其他定制包也有的bug,同步更新其他包的代码时,非常费劲+机械,并且很容易发生人工失误. 若某个定制包换人维护,新接手的人,交接时费时,而且新接手的人容易忘记关键点,对定制版在主线版基础上有哪些改动记不住. 由此,我研究了一下SVN的Create/Apply patch功能,由于svn的patch格式文件可以忠实记录文件变动,所以上面说的第2个问题迎刃而解,同

Svn Patch中文乱码

关于Patch svn打patch的介绍:巧用svn create patch(打补丁)方案解决定制版需求   svn创建patch 1.在SVN的提交列表中,右键选择"创建补丁" 2.选择保存位置,保存的文件如下 3.可以选择SVN自带的工具打开patch文件,但是推荐使用beyond compare来打开patch文件 4.如果你创建出来的patch文件是乱码(注:文件格式统一为UTF-8) 可能原因: 1.你提交的文件列表中,有的是GBK编码,有的是UTF-8编码 2.系统环境为

SVN中tag branch trunk用法详解

SVN中tag branch trunk用法详解 2010-05-24 18:32 佚名 字号:T | T 本文向大家简单介绍一下SVN中tag branch trunk用法,SVN中tag branch trunk都属于SVN的子命令,那么他们是如何使用的呢,本文就给大家一一讲解. AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载! 本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆.这里就向大