`
langgufu
  • 浏览: 2301763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SVN—patch的应用(create patch,apply patch)(转)

阅读更多
1.create patch 
使用create patch可以生成一个或者多个修改过的文件和当前版本差异的patch(支持目录树) 
通常情况下,create patch将修改保存为.patch或.diff文件 
可以将.patch或.diff文件的内容复制出来,发给需要审查的人 
.patch或.diff文件中记录了发生这个patch的版本号以及具体修改的内容 
针对某个文件或某几个文件的若干种修改,可以生成多个.patch或.diff文件 
2.apply patch 
可以将.patch或.diff文件应用到对应版本的项目,就像打补丁一样 
同一个项目/文件夹下,可以选择应用需要的patch 
通常来说,应用一个patch时文件版本和生成这个patch时文件的版本是一致的;如果不一致,也可以强制应用,svn会自动进行diff(这时候需要手动合并) 
linux下,可以使用系统的patch命令来应用patch,eg: patch -p0 <xxx.patch 
3.使用 
暂时不需要提交或不允许提交的修改,可以选择create patch来保存修改的内容 
选择create patch来保存修改的内容并且提交patch,通过审查后,(在服务器端)应用patch 
当一个功能有多种解决方案时,可以生成多个patch,(提交后)分别经过测试,再决定应用哪个patch 
多个功能分别需要改同一个文件的不同地方(即没有同一行),可以做成多个patch,应用patch的顺序没有要求(在linux下应用也一样成功,只是会生成多个.orig文件) 
多个连续性的功能,他们修改的文件都与一个base作patch,例:p1在v1的基础上开发v2,生成v2和v1之间的patch1;p2在v2的基础上开发v3,生成v3和v1之间的patch2,这样只要应用patch2也就应用了patch1。 
4.带来的问题 
一个较早的patch,在经过多轮提交后,如果想再要应用,需要严格的diff 
如果两个patch分别改了同一行代码,应用第一个patch后要再应用第二个patch时,仍然需要diff。如果在linux下,会产生冲突,生成.orig和.rej两个文件(此时仍然需要手动进行比较合并) 
第3部分提到的连续性,要准确的预见到,比较困难 
第3部分提到的多个连续的功能,后做的功能的某个文件更新了先做的功能的内容,但先做的功能可能还涉及到其他文件,容易造成漏更新文件的情况 
 
分享到:
评论

相关推荐

    svn patch 小工具 (自动提取改动文件)

    标签 "源码" 提示我们,这个工具可能涉及到了源代码级别的操作,例如读取svn仓库的差异信息,生成或应用patch文件。而 "工具" 标签则表明这是一个实用程序,可能是用脚本语言如Python或Perl编写,或者是小型的命令行...

    svn安装与patch文件应用

    - **应用Patch文件**: 使用 `TortoiseSVN` 的 `Apply Patch` 功能将差异应用到目标文件夹。 ### 总结 本指南详细介绍了 SVN 服务器端和客户端的安装步骤,包括配置仓库、启动服务以及如何使用 SVN 进行日常操作。...

    Visual SVN 4.0.2 Patch

    《Visual SVN 4.0.2补丁:深入理解与应用》 Visual SVN是一款深受开发者喜爱的Subversion(SVN)版本控制系统客户端,专为Microsoft Visual Studio集成开发环境设计。在最新的4.0.2版本中,Visual SVN提供了一系列...

    Visual SVN Server 3.9.2+patch

    《Visual SVN Server 3.9.2+patch:代码管理利器的升级与应用》 Visual SVN Server是一款在Windows平台上广泛使用的Subversion(SVN)服务器软件,它为开发者提供了高效、可靠的版本控制系统。3.9.2版是该软件的一...

    svn结果生成补丁

    通常,这包括使用`svn diff`命令生成差异,然后使用`svn patch`命令应用补丁。 在标签中,"svn"表明这是关于Subversion的知识点,而"java"则暗示可能涉及到如何在Java开发环境中集成或使用svn。 在压缩包子文件的...

    svn服务器和客服端应用软件

    标题"svn服务器和客户端应用软件"提到了两个关键概念:svn服务器和客户端应用。这里,svn是Subversion的简称,是一个版本控制系统,用于管理代码和其他文件的变更历史。服务器部分指的是Subversion仓库,它存储了...

    svn启动服务代码

    SVN广泛应用于软件开发团队中的源代码管理,支持多用户协作开发并能够处理并发修改等问题。 #### 2. SVN服务启动背景 在企业级开发环境中,SVN服务器通常需要持续运行以便团队成员可以随时访问项目文件。为了实现这...

    .svn删除软件

    在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称SVN)是一种广泛应用的集中式版本控制系统。`.svn`文件是Subversion在本地工作副本中存储元数据的特殊文件,它记录了文件和目录的状态信息...

    根据SVN日志自动生成补丁

    5. **应用补丁**:用户接收补丁和更新日志,使用相应的工具(如`patch`命令行工具)将补丁应用到本地副本,从而实现升级。 在提供的文件列表中,`PatchMaker_loan.java`很可能就是实现上述功能的Java源代码。此文件...

    Windows下Svn安装与应用

    ### Windows下Svn安装与应用 #### 一、概述 Subversion(SVN)是一种广泛使用的版本控制系统,它能够帮助团队有效地管理和跟踪代码的变化。在Windows环境下安装和配置SVN对于许多开发人员来说是非常必要的技能。...

    SVN应用所需的所有软件和文件

    SVN,全称为Subversion,是一种广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪对项目文件的修改,同时保持代码的历史版本记录。本压缩包包含了使用SVN所需的一切软硬件,包括客户端、服务器端...

    可视化SVN服务器应用

    SVN大家都使用过,但自己布署SVN服务器就比较少了,本软件是window平台下可视化管理的SVN服务器端,使用简单,很容易操作,是公司及个人架构SVN服务器的好工具. 版本v2.6.4(基于Apache Subversion 1.8.1) 注意:从旧版本...

    删除svn隐藏文件夹应用

    该插件用于删除svn文件,用于右键菜单中svn目录删除,同级目录下的.svn文件夹,文件过于多的时候可以使用进行批量删除.

    openwrt 制作patch

    - Quilt是管理patch的一个非常有用的工具,它可以用来创建、修改、推送(应用)、弹出(撤销)patch。 - 在使用Quilt之前,需要指定编辑器,并在本地home目录下创建配置文件.quiltrc。该文件中包含diff和patch的...

    SVN版本控制系统应用介绍

    ### SVN版本控制系统应用介绍 #### 一、版本控制系统概述 版本控制系统(Version Control System, VCS)是一种记录一个或若干个文件内容变化的系统,它允许用户将数据回溯到之前的某个状态,甚至将整个项目回退到...

    svn转化为git

    在过去的许多年里,Subversion(SVN)是广泛应用的版本控制系统,但随着时间的发展,Git逐渐崭露头角,因其分布式特性和强大的功能而受到广泛欢迎。本文将详细介绍如何将现有的SVN仓库转换为Git仓库,以便更好地适应...

    SVN一份提交往多个分支合入.docx

    在该分支上,通过菜单选择“VCS” -&gt; “Apply Patch”,然后找到之前创建的补丁文件并加载它。SVN会分析补丁文件,将7月分支的改动应用到当前分支。 3. **检查和提交**: 应用补丁后,需要对代码进行审查,确保...

    SVN指南及高级应用

    **SVN指南及高级应用** SVN(Subversion)是一种版本控制系统,用于管理软件项目中的源代码和其他文件的变更。它记录了文件和目录的历史,允许团队成员协作开发,同时保持代码的一致性和完整性。本指南将深入探讨...

Global site tag (gtag.js) - Google Analytics