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

SVN—patch的应用

    博客分类:
  • QC
阅读更多

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文件应用

    ### SVN安装与Patch文件应用详解 #### Subversion (SVN) 概述 Subversion (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提供了一系列...

    svn结果生成补丁

    通常,这包括使用`svn diff`命令生成差异,然后使用`svn patch`命令应用补丁。 在标签中,"svn"表明这是关于Subversion的知识点,而"java"则暗示可能涉及到如何在Java开发环境中集成或使用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日志自动生成补丁

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

    svn 日志导出 增量补丁工具

    svn diff -r revision1:revision2 &gt; patch_file.patch ``` 有了这个补丁文件,其他开发者只需应用这个补丁,就可以获取到最新的改动,而无需下载整个项目仓库。这在处理大型项目时尤其有用,因为增量补丁通常比完整...

    svn可能碰到的问题20181151

    SVN(Subversion)是一种版本控制系统,广泛应用于软件开发、文档管理等领域。然而,在使用SVN时,用户可能会遇到一些问题,本文将详细介绍这些问题的解决方案。 问题一:更新冲突 在使用SVN时,多个用户同时修改...

    visual svn sever3.9.2 crack

    "Patch for Server"可能是用于Visual SVN Server 3.9.2的补丁文件,通常用于修复已知问题或提供额外的功能。在软件发布后,开发者可能会发现并修复一些漏洞,或者提供改进,这些都会以补丁的形式发布。应用这个补丁...

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

    在软件开发过程中,版本控制系统是不可或缺的工具,其中Subversion(SVN)是广泛应用的一种集中式版本控制系统。SVN能够帮助团队协同工作,管理代码的不同版本,并实现代码的合并。在某些情况下,开发者可能需要将...

    svn_patch_update:从本地 svn , Shell 增量更新在线代码

    在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称SVN)是一种广泛应用的集中式版本控制系统。本文将深入探讨如何使用Shell脚本来实现从本地SVN仓库进行增量更新,以便将代码更新到远程...

    SVN操作入门指南.pdf

    - **Create(Apply)patch创建(应用)补丁**:生成或应用代码变更的补丁文件,便于代码审查和集成。 #### 四、分支与合并 ##### 分支的概念 SVN支持创建分支,即从主干(trunk)中分离出独立的开发线,用于进行...

    根据SVN信息自动生成升级补丁包

    5. **应用补丁**:接收补丁的一方可以使用`patch`命令来应用这个补丁,将他们的代码更新到新的状态。 6. **自动化脚本**:为了实现自动化,开发者可能会编写批处理脚本或者使用构建工具(如Ant、Maven、Gradle等)...

    根据svn版本库自动生成版本号

    在众多版本控制系统中,Subversion(SVN)是一个广泛应用的选择。本篇文章将探讨如何利用Python来自动化地从SVN版本库生成版本号,以辅助软件的发布和维护工作。 首先,我们需要理解`MakeVersion.py`、`VersionConf...

    patch-generator-desk

    "patch-generator-desk" 是一个专门用于生成软件补丁的工具,它支持两种版本控制系统:SVN(Subversion)和Git。这个工具的核心功能是帮助开发者进行增量打包,这意味着它只包含自上次发布以来代码库中的更改,而...

    release-svn的差分做成方法

    5. **导出文件**:如果你只想关注特定文件的差异,可以右键点击那个文件,选择“导出为...”,然后保存为带有.diff或.patch扩展名的文件。这个文件包含了从旧版本到新版本的改动,可以用于其他目的,如分发给团队...

    基于Svn补丁日志自动生成Java项目补丁包[python]

    他们可以通过应用补丁(如使用`patch`命令)将这些更改合并到他们的本地副本中,从而快速更新项目。 7. **效率提升**:自动化的补丁生成流程显著提高了开发效率,减少了手动操作带来的错误,并确保了补丁的完整性。...

    SVN操作手册中文版网页格式

    应用补丁(Apply Patch) F. 实现细节 F.1. 图标重载 G. 用 SSH 使服务器更安全 G.1. 配置 Linux 服务器 G.2. 配置 Windows 服务器 G.3. 用于 TortoiseSVN 的 SSH 客户端工具 G.4. 创建 OpenSSH 证书 G.4.1. ...

    openwrt 制作patch

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

    SVN操作指南

    **Subversion**,简称SVN,是一款开源的版本控制系统,广泛应用于软件开发、文档管理和项目协作中。SVN的核心价值在于它能够追踪文件和目录的历史变化,使得团队成员能够回溯至任意历史版本,查看变更详情,甚至恢复...

Global site tag (gtag.js) - Google Analytics