`
khotyn
  • 浏览: 42372 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一个快速合并svn工程的脚本

阅读更多

最近的一个项目中,经常需要拿开发分支和主干做合并,分支数量有比较多,不胜其烦,故而写了一个小脚本用来做分支的合并:

#!/bin/sh

versions=`svn log $2 --stop-on-copy | grep '^r[0-9]*' | awk '{print $1}'`
head_version=`echo $versions | awk '{print $1}' | grep -o '[0-9]*$'`
tail_version=`echo $versions | awk '{print $NF}' | grep -o '[0-9]*$'`
merge_cmd="svn merge -r $tail_version:$head_version $2 ."

echo 'Preparing environment:'
rm -rf khotyn_tmp && mkdir khotyn_tmp && cd khotyn_tmp
echo "Preparing environment done!\nChecking out $1"
svn co $1 .
echo "Checking out $1 done!\nMerging branches:$merge_cmd"
$merge_cmd
echo "Merging branches done:$merge_cmd"

使用的方式如下:

sh svnMerge.sh repo_1 repo_2
这样就会将repo_2分支合并到repo_1上去,觉得有用的朋友可以直接拿去改改用起来。 

 

1
0
分享到:
评论

相关推荐

    Ant+Svn打包Web工程

    本主题将深入探讨如何结合Apache Ant和Subversion(Svn)来打包Web工程,这是一个常见的开发实践,尤其对于Java Web项目而言。首先,让我们理解这两个工具的核心概念。 **Apache Ant** 是一个Java库和命令行工具,...

    自动化的在程序中显示svn版本_附件

    2. **脚本化过程**:为了自动化这个过程,你可以编写一个脚本(例如Python或bash),该脚本执行`svn info`命令,并提取出版本号。这个脚本可以在构建或打包阶段运行,确保每次生成的程序都包含最新的版本信息。 3. ...

    移除文件夹的Git或SVN信息

    然而,在某些情况下,可能需要从项目文件夹中移除这些版本控制系统的痕迹,比如当你想要分享一个不带版本控制信息的干净工程副本时。标题"移除文件夹的Git或SVN信息"和描述中提到的需求,就是指如何从文件夹中彻底...

    svn中文手册 PowerDesigner中文手册

    Subversion(svn)是一个开源的版本控制系统,它的主要功能包括版本追踪、冲突解决、分支和合并等。svn中文手册将详细解释如何安装、配置和使用这个系统,涵盖基本操作如`svn checkout`(检出)、`svn commit`(提交...

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

    4.26. 导出一个Subversion工作副本 4.26.1. 从版本控制里移除删除工作副本 4.27. 重新定位工作副本 4.28. 与 BUG 跟踪系统/问题跟踪集成 4.28.1. Adding Issue Numbers to Log Messages 4.28.1.1. Issue Number...

    svn学习笔记

    - **TortoiseSVN安装与使用**:TortoiseSVN是一款非常受欢迎的SVN客户端图形界面工具,它能够将SVN的操作集成到Windows资源管理器中,极大地简化了日常的版本控制操作流程。 #### 工程目录结构 在SVN中,通常采用...

    Ubuntu自动编译Android版本并提交SVN版本

    G.) 自劢实现 Android 工程 base 代码的解压不合并。 H.) 自劢实现 SVN 上最新代码的下载不合并。 I.) 自劢编译 user 不 eng 版本。 J.) 自劢创建需要提交的版本文件夹(V*.*_eng(user))。 K.) 自劢拷贝编译生成...

    MTK主要Perl脚本的介绍

    MTK的Perl自动化脚本,如`auto_script.pl`,可以整合上述各种功能,形成一个端到端的流程。它们可以根据预定的规则自动执行编译、测试、分析等任务,大大减少了人工干预,提高了工作效率。 六、配置管理脚本 在源码...

    svn-book-cn.pdf

    每一个被SVN管理的文件或目录都会有一个唯一的版本号,每当文件发生更改并提交到仓库(Repository)时,其版本号会自动递增。开发者可以在本地对文件进行修改,然后将这些修改提交至中央仓库,SVN会自动检测文件的...

    SVN配置资料.docx

    SVN通过一个中心服务器来存储所有文件的修订版本,而这些文件可以由用户检出到本地工作区。每次提交更新时,SVN会记录这些更改并同步到服务器上,确保所有用户的代码或文档保持一致。 ### 2. SVN配置指南 #### 2.1...

    关于svn的一些资料

    - **创建分支**:“LHDesigner”下的“bin/3DLua”可能代表了一个专注于Lua脚本引擎开发的分支,允许团队在不干扰主开发流程的情况下进行创新和优化。 - **版本控制**:每当有重要的功能完成或错误修复,开发人员...

    在Eclipse中使用SVN与CVS代码管理工具管理项目

    笔者有幸接触过以下几种常用的配置管理工具:VSS、SVN、Clearcase,在此做一个小小的总结,并Ctrl+C了以前一些网友的对比评论,不一定准确,只是希望通过这些总结对自己和初学者有所帮助。如果想进一步了解这些工具...

    使用SVN,Ant制作发布版本

    制作发布版本是一个涉及多个步骤的过程,包括从版本控制系统获取最新代码、编译代码、打包以及清理临时文件等。以下是具体步骤: 1. **从SVN中取出最新版本**:首先需要使用SVN工具从版本控制系统中检出最新的源...

    TortoiseSVN和TortoiseMerge的中文帮助文档(chm格式)

    4.3. 在一个版本控制的文件夹下资源管理器文件菜单中的快捷方式。 4.4. 版本控制下的一个目录的右键拖拽菜单 4.5. 认证对话框 4.6. 导入对话框 4.7. 检出对话框 4.8. 提交对话框 4.9. 提交对话框的拼写检查器 4.10. ...

    持续集成环境maven+nexus+jenkins+svn搭建[整理].pdf

    在Eclipse中,使用Maven的 archetype插件可以快速创建一个新的Maven项目。在创建项目时,选择对应的archetype模板,填写groupId、artifactId和version等信息。项目创建完成后,Eclipse会自动生成基本的项目结构,...

    Perl工程管理

    例如,一个Perl脚本可以读取所有子项目的配置信息,根据特定规则生成Makefile或者构建脚本,然后调用相应的编译工具链进行编译。这种自动化不仅减少了手动错误,还使得构建过程可重复且易于维护。 在MTK平台上,...

    利用脚本创建PDM

    常见的源代码管理工具有Git、SVN、Mercurial等,它们允许团队成员进行版本控制、分支管理以及合并代码。 2. **VBS脚本编程**:了解VBS语法和对象模型,能够创建自定义的PDM脚本,如自动化文件导入、设置规则和...

Global site tag (gtag.js) - Google Analytics