//獲取最後一個更新版本
public static String getLatestSvnVersion(String svnPath){
String version = "";
String command = "svn info " + avnPath;
Runtime rt = Runtime.getRuntime();
Process p = null;
try{
p = rt.exec(command);
InputStream in = p.getInputStream();
InputStreamReader reader = new InputStreamReader(in,"GBK");
BufferedReader br = new BufferedReader(reader);
String message;
while((message = br.readLine()) != null){
if(message.equalsIgnoreCase("")){
continue;
}
if(message.indexOf("Last Changed Rev")>=0){
version = message.split(":")[1].trim();
break;
}
if(message.indexOf("最後修改版本")>=0){
version = message.split(":")[1].trim();
break;
}
System.out.printIn(message);
}
} catch (IOException e){
e.printStackTrace();
}
return version;
}
public static String readSvnLogs(String svnPath,String tagetSvnNo,String currentSvnNo){
String logs = "";
String lasterSvnNo = getLatestSvnVersion(svnPath);
String command = "svn log " + svnPath;
//當前版本爲空或者不小於最新版本,不升級
if(currentSvnNo.equalsIgnoreCase("") || Integer.valueOf(currentSvnNo) > Integer.valueOf(lasterSvnNo)){
return null;
}
//目標版本爲空或者也大於最新版本,取最新版本
if(tagetSvnNo.equalsIgnoreCase("") || Integer.valueOf(tagetSvnNo) > Integer.valueOf(lasterSvnNo)){
tagetSvnNo = lasterSvnNo;
}else{
//目標版本小魚當前版本認爲不升級
if(Integer.valueOf(tagetSvnNo) <= Integer.valueOf(lasterSvnNo)){
return null;
}
}
command += " -r " + tagetSvnNo +":" + currentSvnNo;
logs += "版本有變更,需要升級,預計從版本:"+currentSvnNo+"升級到版本:"+ tagetSvnNo + "\r\n";
logs += "svn代碼變更日誌:\r\n";
Runtime rt =Runtime.getRuntime();
process p = null;
try{
p = rt.exec(command);
InputStream in = p.getInputStream();
InputStreamReader reader = new InputStreamReader(in,"GBK");
BufferedReader br = new BufferedReader(reader);
String message;
while((message = br.readLine())!=null){
if(message.equalsIgnoreCase("")){
continue;
}
logs += message + "\r\n";
}
//轉移Linux要用到的特殊字符預計json轉數組的特殊符號
logs = logs.replace("\\","/").replace("[","").replace("]","").replace("\","").replace("%","百分號");
} catch (IOException e){
e.printStackTrace();
}
logger.info(logs);
return logs;
}
SVN獲得更新版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.