开发背景:

  简述现有流程:代码的合并、提交是以任务为最小单元的。例如A和B两个同学开发不同的任务,那就是两个任务号。合并的时候可能会先合并A的代码,在合并B的代码。

  需求:SVN合并程序开发——一款能够满足测试人员合并代码的工具,通过输入任务号或版本号及选择合并分支,将对应的任务及版本合并到选择的分支上。

  要求:避免SVN冲突。

  工作要点:设计一个即能减少冲突,又能提交次数最少的流程。使用SVNKIT完成设计工具,最好是图形界面客户端。

梳理思路:

  个人觉得在合并过程中冲突是无法完全避免的,A和B同时改一段代码,就有可能造成冲突。那么,现在我们要做的就是如何合并能够减少冲突。比如针对代码有交叉的任务,按照提交顺序合并代码?暂且按照这个方向做~

开发思路:

  1.首先要对svn本身有一个良好的认识,基础。

  2.学习svnkit的使用,核心。

  3.图形界面客户端调用java代码,扩展。

工作:

  当天晚上就对着官网开撸,英文水平虽然不是很高,但是配合各种翻译软件加自己的聪明才智勉强看懂。那么问题来了,官方除了大的框架介绍、java doc文档,没有可用的示例代码(示例代码的连接是wiki.svnkit.com,抛出服务器500异常)。当时脑子里有三个想法:1.想着要不要联系一下官方,2.搜以前大神些的博客,3.对着java doc自己看源码。可能是由于svnkit并不是特别的火,大家都喜欢用现成的svn工具,或者用git等等,所以网上使用svnkit做svn二次开发的例子少之又少,而且均是旧版本的例子。最终照着网上大神写好的文档和一些实例代码,结合javadoc+源码完成了一部分的功能(import、checkout、commit、update等),但是感觉个人从对svnkit的理解上并没有太大的深入。万般无奈之下找了下svnkit的邮箱,给他们发了一封邮件,附上问题链接和截图。然后继续对着javadoc进行功能开发。上午都没有收到回复,有点遗憾。不过后来一想,老外和咱们有时差,应该还在睡觉。终于到快下班的时候,不小心点到官网wiki上的链接,竟然进去了。特别高兴的登上邮箱,果然收到了对方的邮件(不得不佩服,人家解决问题的效率还是比较高的)

  问题解决了好开心,尽快搞定svnkit后解决图形化界面的问题。还要和测试同学沟通合并的方案~

总结:

  1.遇到自己解决不了的问题,除了自己思考和动手解决,也要在第一时间反馈给可能对解决问题有帮助的人。

  2.希望自己能养成看源码的习惯,对着javadoc看源代码理解起来确实不错。

  好了,结束我人生的第一批博客吧,晚上照着wiki继续搞一下,加油~

SVNKit学习——svn二次开发背景和闲谈(一)的更多相关文章

  1. SVN二次开发——让SVN、TSVN(TortoiseSVN)支持windows的访问控制模型、NTFS ADS(可选数据流、NTFS的安全属性)

    SVN二次开发 ——让SVN.TSVN(TortoiseSVN)支持windows的访问控制模型.NTFS ADS (可选数据流.NTFS的安全属性) SVN secondary developmen ...

  2. PCI GXL学习之二次开发篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 gxl的二次开发分初级和高级之分.初级是gxl提供了几百个模块供你编排成不同的作业.高级就是你可以编写你的算法模块,然 ...

  3. Zephyr学习(二)开发环境搭建

    一.概述 Zephyr支持在Windows.Linux和MacOS环境下开发,这里只介绍如何在Windows下搭建zephyr的开发环境. 二.步骤 2.1安装msys2 msys2是一个Linux模 ...

  4. Struts2学习笔记二:开发流程

    一:创建项目,添加依赖包 二:在web.xml配置核心控制器 <filter> <filter-name>struts2</filter-name> <fil ...

  5. Java学习笔记二:Java开发工具Eclipse的安装与使用

    Java开发工具Eclipse的安装与使用 正如office一样我们在开发java语言过程中同样需要依款不错的开发工具,目前市场上的IDE很多,这里只演示Eclipse的安装: 一:下载软件: 1.下 ...

  6. mybatis学习记录二——mybatis开发dao的方法

    4.1     SqlSession使用范围 4.1.1     SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSession ...

  7. 单片机学习(二)开发板LED灯的控制

    目录 开发板上LED灯相关的电路图 点灯 LED闪烁 LED流水灯 其他效果 灯光二进制计数器 进阶版流水灯 开发板上LED灯相关的电路图 这是P2相关7个引脚的电路图,在默认情况下它是直接接着VCC ...

  8. CSS学习(二):背景图片如何定位?

    我们都知道background-position属性用来指定背景图片应该出现的位置,可以使用关键字.绝对值和相对值进行指定.在CSS Sprites中,这个属性使用比较频繁,使用过程中,我常混淆,经常 ...

  9. 学习MeteoInfo二次开发教程(十二)

    1.添加新的Form窗体: 在解决方案资源管理器中,右键MeteoInfoDemo,“添加”,“Windows 窗体” 2.新窗体中添加好layersLegend1和Layout之后,要把layers ...

随机推荐

  1. ubuntu画面延迟问题解决

    新配的电脑,安装ubuntu16.04以后,出现画面延迟的问题,尤其浏览网页的时候画面十分卡顿.用free命令查看过可用内存6.多G,经过询问大概是显卡问题,然后在https://ubuntuforu ...

  2. SQL 随手记

    SQL 学习片段: 建立一个简单的联系数据表, mobile_number char(11).mobile_province nvarchar(50).mobile_area nvarchar(200 ...

  3. HDOJ3085 Nightmare II 双向BFS

    重构一遍就A了...但这样效率太低了...莫非都要重构???QWQ 每一秒男同志bfs3层,女同志bfs1层.注意扩展状态时,要判一下合不合法再扩展,而不是只判扩展的状态合不合法,否则有可能由非法的走 ...

  4. 03-树2 List Leaves (25 分)

    Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. I ...

  5. tp5.0

    入口文件绑定 : define('BIND_MODULE','admin/index'); 配置 auto_bind_moudle = ture|false.  入口自动绑定模块 入口文件 defin ...

  6. dedecmd 全局标签

    dedecms全局标签     dedecms 标签使用手册  全局标签   adminname|责任编辑   arclist|文档列表   arclistsg|独立单表模型列表   ask|问答标签 ...

  7. ESP8266使用详解

    [From] http://www.cnblogs.com/yangfengwu/p/5205570.html 用的这款 各引脚功能:来至厂家提供的资料 GPIO0 默认是工作模式(不接线).如果接了 ...

  8. 剑指offer——面试题15.1:判断一个数是否为2的整数次方

    #include"iostream" using namespace std; bool IsTwoPower(int n) { )&n); } int main() { ...

  9. JS实现跨域请求数据--jsonp

    * { margin: 0; padding: 0; } input { width: 300px; height: 30px; border: 1px solid lightgray; margin ...

  10. linux 密码复杂度设置

    /etc/login.defs文件,里面几个选项 PASS_MAX_DAYS 90 #密码最长过期天数 PASS_MIN_DAYS 80 #密码最小过期天数 PASS_MIN_LEN 10 #密码最小 ...