亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

svn判斷通過svnkit,獲取最新的revision以及判

系統 2667 0

新手發帖,很多方面都是剛入門,有錯誤的地方請大家見諒,歡迎批評指正

????在java下,已經有一個非常壯大的工具,svnkit,為我們封裝了非常全面的svn操作類。但是,筆者在應用時,就碰到兩個問題,還是略微琢磨了一陣子,才想到解決辦法(我應用的是1.x版本的svnkit,不清楚2.x版本的,是否有更直接的方法)

????問題1:如何獲得指定svn路徑的最新revsion

????問題2:判斷某svn路徑下,某個revsion號是否存在

????講這兩個問題前,首先要理清Repository及revsion的概念。svn的核心是Repository(版本庫),很多信息都是基于全部Repository來做記錄的;revision則記錄了每一次的commit操作,每當我們做一次commit操作,這個Repository的revsion就會增加1。所以revsion有時候也被稱為svn版本號,因為通過這個revsion,可以指向具體某一次svn的變革。好吧,說了那么多,其實就是想說明圖1的意思,

????假設你有一個Repository的svn路徑是root/r,該Repository下有子路徑root/r/r1,那么,如果你用svnkit來獲得root/r/r1的最新revsion,它返回的是root/r的最新revsion,而不是root/r/r1的。你用其他工具,查看的歷史變革記錄,最新revsion明顯是5,但svnkit返回給你的,卻可能是7,就是這個原因。

????圖1:對于r1目錄,它是屬于上一層的repository的,因此它的以后revision,也是7

???? svn和判斷

????問題1:

????基于圖1,直接獲得r1的revision,不能返回我們想要的值,而應該用getCommittedRevision()這個方法

????代碼節選

    rSVNURL epositoryBaseUrl = SVNURL.parseURIEncoded(svnPath);

SVNInfo info = client.doInfo(repositoryBaseUrl, SVNRevision.HEAD, SVNRevision.HEAD);

result = info.getCommittedRevision().getNumber();
  

????問題2:

????基于圖1,用svnkit,指定svn路徑為root/r/r1,revision為7,還是會有返回值,不會報錯。這時候應該用另外一種思緒,如果7這個revision,是屬于另外一個目錄的變革,那么root/r/r1路徑下,revsion為7的日記,就會是空的,這種情況,便可認為,7這個revisin,在root/r/r1下,是不存在的。

????代碼節選

????類SimpleISVNLogEntryHandler,將svn log寫入list這個變量

????每日一道理
悲觀的人,先被自己打敗,然后才被生活打敗;樂觀的人,先戰勝自己,然后才戰勝生活。悲觀的人,所受的痛苦有限,前途也有限;樂觀的人,所受的磨難無量,前途也無量。在悲觀的人眼里,原來可能的事也能變成不可能;在樂觀的人眼里,原來不可能的事也能變成可能。悲觀只能產生平庸,樂觀才能造就卓絕。從卓絕的人那里,我們不難發現樂觀的精神;從平庸的人那里,我們很容易找到陰郁的影子。
    public class SimpleISVNLogEntryHandler implements ISVNLogEntryHandler

{

     public List<SVNLogEntry> list = new ArrayList<SVNLogEntry>();





     @Override

     public void handleLogEntry(SVNLogEntry logEntry) throws SVNException

     {

          System.out.println(logEntry.getDate());

          list.add(logEntry);

     }



}
  

????判斷變革日記是否為空

    try

{

     SimpleISVNLogEntryHandler handler = new SimpleISVNLogEntryHandler();

     SVNRevision r = SVNRevision.create(revisionNum);

     repositoryBaseUrl = SVNURL.parseURIEncoded(svnPath);

     logClient.doLog(repositoryBaseUrl, new String[] {}, r, r, r, false, false, true, 1, new String[] {}, handler);

     if (null != handler.list && handler.list.size() > 0)

     {

          result = Constant.REVISION_EXIST;

     }

     else

     {

          result = Constant.REVISION_NOT_EXIST;

     }





}

catch (SVNException e)

{

     logger.error("SvnManageOperation.isFileExit error", e.getMessage());

     logger.error("error code:" + e.getErrorMessage().getErrorCode().getCode());

     if (e.getErrorMessage().getErrorCode().getCode() == 160006)

     {

          result = Constant.REVISION_NOT_EXIST;

     }

}
  

????說明1:revisionNum下,沒有log,那么handler.list.size() == 0

????說明2:如果該revisionNum在全部Repository都不存在,是會拋SVNException的,對應的錯誤碼160006表示revision不存在

文章結束給大家分享下程序員的一些笑話語錄: 剎車失靈
有一個物理學家,工程師和一個程序員駕駛著一輛汽車行駛在阿爾卑斯山脈 上,在下山的時候,忽然,汽車的剎車失靈了,汽車無法控制地向下沖去, 眼看前面就是一個懸崖峭壁,但是很幸運的是在這個懸崖的前面有一些小樹 讓他們的汽車停了下來, 而沒有掉下山去。 三個驚魂未定地從車里爬了出來。
物理學家說, “我覺得我們應該建立一個模型來模擬在下山過程中剎車片在高 溫情況下失靈的情形”。
工程師說, “我在車的后備廂來有個扳手, 要不我們把車拆開看看到底是什么 原因”。
程序員說,“為什么我們不找個相同的車再來一次以重現這個問題呢?”

--------------------------------- 原創文章 By
svn和判斷
---------------------------------

svn判斷通過svnkit,獲取最新的revision以及判斷某個revsion是否存在


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 特黄特级高清免费视频毛片 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 熊出没之重启未来免费观看 | 在线视频综合视频免费观看 | 亚洲国产成人精品激情 | 亚洲精品一二区 | 亚洲图片综合网 | 一区二区国产一区二区a4yy | 成人欧美一区二区三区视频xxx | 四虎影院一级片 | 特级aav毛片日本免费视频 | 亚洲精品www久久久久久久软件 | 国产精品久久久久久影院 | 国产51自产区 | 亚洲精品日韩在线一区 | 视频一区二区三区在线观看 | 波多野结衣精品一区二区三区 | 久久国产小视频 | 中国女人精69xxx | 狠狠色噜噜狠狠狠8888米奇 | 免费看欧美一级片 | 亚洲图片另类图片 | 99色在线| 久久久999久久久精品 | a大片久久爱一级 | dxj伊人| 久久精品中文字幕首页 | 伊人免费在线观看 | 欧美日韩中文字幕在线 | 欧美99视频 | 9久re在线观看视频精品 | 香蕉一区 | 亚洲欧美一区二区视频 | 毛片黄片视频 | 欧美成人a级在线视频 | 国产亚洲精品免费 | 九九视频国产免 | 亚洲国产精品线播放 | 欧美综合网 | 中国一级毛片免费观看 | 四虎国产永久在线精品免费观看 |