<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Natural

     

    Clearcase靜態(tài)視圖下post-review,view diff時異常問題解析

    環(huán)境:
    Windows XP
    RBTools 0.4.2
    ReviewBoard 1.7.1

        之前搭建了reviewboard,一開始是在動態(tài)視圖下測試的,一切順利。
        當(dāng)切換到靜態(tài)視圖下,用post-review提交所有checkedout文件時,命令顯示似乎也一切正常,最后也輸出了提交成功的提示信息“Review request #10 posted”。
        但到reviewboard上打開該request,進行view diff時,出現(xiàn)如下異常:

    Traceback (most recent call last):
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\views.py", line 383in view_diff_fragment
        file 
    = get_requested_diff_file()
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\views.py", line 309in get_requested_diff_file
        populate_diff_chunks(files, highlighting)
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\diffutils.py", line 1197in populate_diff_chunks
        large_data
    =True)
      File 
    "F:\CodeReview\Python27\lib\site-packages\djblets-0.7.8-py2.7.egg\djblets\util\misc.py", line 156in cache_memoize
        data 
    = lookup_callable()
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\diffutils.py", line 1196in <lambda>
        enable_syntax_highlighting)),
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\diffutils.py", line 599in get_chunks
        new 
    = get_patched_file(old, filediff)
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\diffutils.py", line 392in get_patched_file
        
    return patch(diff, buffer, filediff.dest_file)
      File 
    "F:\CodeReview\Python27\lib\site-packages\reviewboard-1.7.2-py2.7.egg\reviewboard\diffviewer\diffutils.py", line 251in patch
        (filename, tempdir, patch_output))
    Exception: The patch to 
    '{clearcase file path}' didn't apply cleanly. The temporary files have been left in 'e:\temp\reviewboard.yoegta' for debugging purposes.
    `patch` returned: patching file e:\temp\reviewboard.yoegta\tmpmvzzpi
    Patch attempted to create file e:\temp\reviewboard.yoegta\tmpmvzzpi, which already exists.
    Hunk 
    #1 FAILED at 1.
    1 out of 1 hunk FAILED -- saving rejects to file e:\temp\reviewboard.yoegta\tmpmvzzpi-new.rej

        把該文件在動態(tài)視圖下也post-review一下,比較了一下,發(fā)現(xiàn)靜態(tài)視圖下生成的diff文件不對。
        直接用diff、cat命令測試,卻是因為在CC靜態(tài)視圖下,帶版本信息的文件是無法訪問的。這樣的話只得先用cleartool get命令把文件拷貝一份臨時文件,再用diff去比較臨時文件。
        在eclipse裝上python插件,post-review調(diào)試,逐步跟進,找到了diff代碼的位置:
        def diff_files(self, old_file, new_file):
        "C:\Python27\Lib\site-packages\RBTools-0.4.2-py2.7\rbtools\clients\clearcase.py" 262行

        代碼改動如下:
        def diff_files(self, old_file, new_file):
            
    # in snapshot view, diff command can't access clearcase file which with version path
            # create temporary file backup instead of clearcase file according by 'cleartool get' command
            if self.viewtype == "snapshot":
                temp_old_file 
    = make_tempfile()
                temp_new_file 
    = make_tempfile()
                
    if cpath.exists(temp_old_file):
                    os.unlink(temp_old_file)
                
    if cpath.exists(temp_new_file):
                    os.unlink(temp_new_file)
                    
                execute([
    "cleartool""get" , "-to", temp_old_file, old_file])
                execute([
    "cleartool""get" , "-to", temp_new_file, new_file])
                diff_cmd 
    = ["diff""-uN", temp_old_file, temp_new_file]
            
    else:
                diff_cmd 
    = ["diff""-uN", old_file, new_file]
            
    """Return unified diff for file.

            Most effective and reliable way is use gnu diff.
            
    """
            dl 
    = execute(diff_cmd, extra_ignore_errors=(12),
                         translate_newlines
    =False)
            
            
    # replace temporary file in snapshot view
            if self.viewtype == "snapshot":
                dl 
    = dl.replace(temp_old_file, old_file)
                dl 
    = dl.replace(temp_new_file, new_file)

        改動后重新編譯一下,塞回到RBTools相應(yīng)位置。
        于是,世界又一片清凈了。。。。。

    posted on 2013-02-01 11:21 此號已被刪 閱讀(2106) 評論(2)  編輯  收藏 所屬分類: ReviewBoard

    評論

    # re: Clearcase靜態(tài)視圖下post-review,view diff時異常問題解析 2013-02-02 06:16 tcmaster

    這年頭居然還有人在用clearcase!同情一個,鄙視一個。  回復(fù)  更多評論   

    # re: Clearcase靜態(tài)視圖下post-review,view diff時異常問題解析 2013-02-03 13:54 此號已被刪

    @網(wǎng)絡(luò)記事本
    一款強大的SCM工具,IBM出品的商業(yè)軟件。詳情自行谷歌之,順便無視1樓。  回復(fù)  更多評論   

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲美女精品国产精品| 日本最新免费不卡二区在线| 处破女第一次亚洲18分钟| 97免费人妻无码视频| 亚洲午夜未满十八勿入| 精品成人一区二区三区免费视频| 性色av无码免费一区二区三区| 中文字幕亚洲一区| 中文无码亚洲精品字幕| 国产一卡二卡3卡四卡免费| 国产亚洲免费的视频看| 在线91精品亚洲网站精品成人| 国产无遮挡裸体免费视频| 色噜噜综合亚洲av中文无码| 亚洲精品视频在线免费| 亚洲国产最大av| 国产午夜鲁丝片AV无码免费| h在线看免费视频网站男男| 日本免费一二区在线电影| 亚洲 欧洲 日韩 综合在线| 日本免费人成黄页网观看视频| 黄色三级三级三级免费看| 最近高清国语中文在线观看免费| 亚洲欧美日韩中文字幕在线一区| 免费无码毛片一区二区APP| 亚洲国产成人无码av在线播放| 最近2019中文字幕mv免费看| 免费看又黄又爽又猛的视频软件| 久久亚洲精品无码| 成人免费无码大片A毛片抽搐色欲| 无遮挡a级毛片免费看| 亚洲国产日韩一区高清在线| 成人免费视频网址| 中文字幕在线观看免费| 亚洲AV无码久久久久网站蜜桃| jjzz亚洲亚洲女人| 亚洲AV无码一区二区三区电影| 亚洲中文字幕无码日韩| 国产精品色拉拉免费看| 成人午夜免费视频| 亚洲人成电影在线观看青青|