svn導出文件進行比較


之前有介紹svn log 的命令,即可導出版本A~B之間所有的修改動作,然后復制出相應的文件(中間有一個算法去處理每一個動作,然后得到最終需要導出的文件列表,svn常用動作有:Modified、Added、Deleted、Replacing、Conflicted、Merged、Existed等)。

 

SVN客戶端的版本比較,我仔細研究了一下它的實現:根據選擇的版本號,下載該版本號以及當前本地版本號的二個資源文件,存放於一個臨時文件夾中,然后調用用TortoiseMerge,傳入二個文件的路徑,即可進行比較了。

 

svn diff 命令僅僅是在DOS窗口里輸出,沒有GUI界面那么直觀,TortoiseMerge工具彌補了這一點,當然還有其它例如:WinMerge也有類似的功能。

 

關於文件的導出,目前我嘗試了二種方案:

1、svn cat (輸出指定的文件)

2、svn export (導出指定的文件)

最新的版本直接使用HEAD替代即可,用法:

>svn cat -r HEAD https://xx.xml >d:\x.xml

>svn export -r verNum https://xx.xml  d:\xx.xml (svn export –r num url path)

 

導出功能實現了,比較工具就很容易了

>TortoiseMerge /base:"D:\x.xml" /theirs:"d:\xx.xml"

 

【參考】:

svn export -導出

svn status

TortoiseMerge-1.6.6-en.pdf


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM