svn分支管理以及增量更新Word格式文档下载.docx

上传人:b****5 文档编号:21141585 上传时间:2023-01-27 格式:DOCX 页数:14 大小:1.55MB
下载 相关 举报
svn分支管理以及增量更新Word格式文档下载.docx_第1页
第1页 / 共14页
svn分支管理以及增量更新Word格式文档下载.docx_第2页
第2页 / 共14页
svn分支管理以及增量更新Word格式文档下载.docx_第3页
第3页 / 共14页
svn分支管理以及增量更新Word格式文档下载.docx_第4页
第4页 / 共14页
svn分支管理以及增量更新Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

svn分支管理以及增量更新Word格式文档下载.docx

《svn分支管理以及增量更新Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《svn分支管理以及增量更新Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

svn分支管理以及增量更新Word格式文档下载.docx

(5)切换之后结果如图:

(6)在分支上修改提交比较等功能与svn普通操作一致。

2.合并分支

(1)项目右击->

切换(s),

(2)切换时会弹出下图,默认选择是标记本地和要切换的地址内容冲突

(3)点击ok,切换成功。

(4)选择项目->

右击选择team->

合并

(5)合并方式选择,选择mergearangeofrevisions,去掉performpre-mergebeatpracticeschecks默认勾选(该默认勾选不灵活无法具体指定分支和配置),点击next。

(6)在弹窗中选择要合并的分支,以及默认的所有合适的版本点击next。

(7)弹出冲突处理设置,选择默认的通知我来处理点击finish。

(8)生成合并结果日志。

增量更新

1.生成差异文件

生成差异文件必须在提交代码之前!

(1)提交前创建补丁,右击项目->

创建补丁。

(2)设置创建补丁的配置,选择保存到文件系统并指定具体的目录文件,在changes中选择变更文件,点击next。

(3)选择要比较的根目录,选择project,点击finish。

2.生成增量包

(1)使用这个Java代码来生成一个更新包。

在Java类中需根据本地情况修改patchFile,projectPath,webContent,classPath,desPath。

packagemy.test;

importjava.io.BufferedInputStream;

importjava.io.BufferedOutputStream;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.text.SimpleDateFormat;

importjava.util.ArrayList;

importjava.util.Date;

importjava.util.List;

publicclassDeployAddTest{

publicstaticStringpatchFile="

D:

/patch.txt"

;

//补丁文件,由eclipsesvnplugin生成

publicstaticStringprojectPath="

F:

/wk20170221/land1"

//项目文件夹路径

publicstaticStringwebContent="

WebRoot"

//web应用文件夹名

publicstaticStringclassPath="

/wk20170221/land1/WebRoot/WEB-INF/classes"

//class存放路径

publicstaticStringdesPath="

/deploy"

//补丁文件包存放路径

publicstaticStringversion;

//补丁版本

/**

*@paramargs

*

*@throwsException

*/

publicstaticvoidmain(String[]args)throwsException{

getversion();

copyFiles(getPatchFileList());

}

*根据时间生成版本号

publicstaticvoidgetversion(){

SimpleDateFormatdf=newSimpleDateFormat("

yyyyMMddHHmmss"

);

//设置日期格式

version=df.format(newDate());

System.out.println(df.format(newDate()));

//newDate()为获取当前系统时间

}

/*

*获取svn补丁文件中的变更文件列表

*/

publicstaticList<

String>

getPatchFileList()throwsException{

List<

fileList=newArrayList<

();

FileInputStreamf=newFileInputStream(patchFile);

BufferedReaderdr=newBufferedReader(newInputStreamReader(f,"

utf-8"

));

Stringline;

//根据文件中的index有效文件和版本来过滤哪些是需要打在增量包里面的文件

while((line=dr.readLine())!

=null){

if(line.indexOf("

Index:

"

)!

=-1){

line=line.replaceAll("

"

"

line=line.substring(line.indexOf("

:

)+1,line.length());

if(line.length()>

1){

fileList.add(line);

returnfileList;

//找到变更文件列表根据路径复制对应class文件到更新文件夹

publicstaticvoidcopyFiles(List<

list){

for(StringfullFileName:

list){

if(fullFileName.indexOf("

src/"

=-1){//对源文件目录下的文件处理

StringfileName=fullFileName.replace("

src"

fullFileName=classPath+fileName;

if(fileName.endsWith("

.java"

)){

fileName=fileName.replace("

.class"

fullFileName=fullFileName.replace("

StringtempDesPath=fileName.substring(0,fileName.lastIndexOf("

/"

StringdesFilePathStr=desPath+"

+version+"

+webContent+"

/WEB-INF/classes"

+tempDesPath;

StringdesFileNameStr=desPath+"

+fileName;

FiledesFilePath=newFile(desFilePathStr);

if(!

desFilePath.exists()){

desFilePath.mkdirs();

copyFile(fullFileName,desFileNameStr);

System.out.println(fullFileName+"

复制完成"

}else{//对普通目录的处理

StringdesFileName=fullFileName.replaceAll(webContent,"

fullFileName=projectPath+"

+fullFileName;

//将要复制的文件全路径

StringfullDesFileNameStr=desPath+"

+desFileName;

StringdesFilePathStr=fullDesFileNameStr.substring(0,fullDesFileNameStr.lastIndexOf("

copyFile(fullFileName,fullDesFileNameStr);

System.out.println(fullDesFileNameStr+"

privatestaticvoidcopyFile(StringsourceFileNameStr,StringdesFileNameStr){

FilesrcFile=newFile(sourceFileNameStr);

FiledesFile=newFile(desFileNameStr);

try{

copyFile(srcFile,desFile);

}catch(IOExceptione){

e.printStackTrace();

publicstaticvoidcopyFile(FilesourceFile,FiletargetFile)throwsIOException{

BufferedInputStreaminBuff=null;

BufferedOutputStreamoutBuff=null;

//新建文件输入流并对它进行缓冲

inBuff=newBufferedInputStream(newFileInputStream(sourceFile));

//新建文件输出流并对它进行缓冲

outBuff=newBufferedOutputStream(newFileOutputStream(targetFile));

//缓冲数组

byte[]b=newbyte[1024*5];

intlen;

while((len=inBuff.read(b))!

=-1){

outBuff.write(b,0,len);

//刷新此缓冲的输出流

outBuff.flush();

}finally{

//关闭流

if(inBuff!

=null)

inBuff.close();

if(outBuff!

outBuff.close();

}

3发布增量包

(1)复制文件夹替换服务器对应文件目录,重启服务。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1