2011-03-05 63 views
3

以下是svn log -v的結果,它停止在文件/目錄移動的修訂中。我怎樣才能得到完整的跟蹤日誌?如何跟蹤SVN中移動的文件/目錄的完整日誌?

svn log -v 

r3171 | drake | 2010-08-16 15:04:49 +0800 (Mon, 16 Aug 2010) | 1 line 
Changed paths: 
    D /lib/python2.5/dgGetFileSequence.py 
    D /lib/python2.5/dgHumanSort.py 
    D /lib/python2.5/dgconfig.py 
    D /lib/python2.5/dgdata.py 
    D /lib/python2.5/dgtools.py 
    A /python/dgtools/dgGetFileSequence.py (from /lib/python2.5/dgGetFileSequence.py:3170) 
    A /python/dgtools/dgHumanSort.py (from /lib/python2.5/dgHumanSort.py:3170) 
    A /python/dgtools/dgconfig.py (from /lib/python2.5/dgconfig.py:3170) 
    A /python/dgtools/dgdata.py (from /lib/python2.5/dgdata.py:3170) 
    A /python/dgtools/dgtools.py (from /lib/python2.5/dgtools.py:3170) 
+0

對不起,我不能給一個完整的答案,但我發現在Stack中的兩個帖子,我相信會幫助你:1 http://stackoverflow.com/questions/44176/searching-subversion-history-full-文本和2 - http://stackoverflow.com/questions/282802/how-can-i-view-all-historical-changes-to-a-file-in-svn – Philoxopher 2011-03-05 10:07:45

回答

1

svn log即使在重命名/移動/副本中也會顯示完整日誌。只有當您指定--stop-on-copy時,它纔會停止重命名/移動/複製。

如果它沒有跨越你的話,那麼你還沒有用適當的svn命令(svn mv,svn cp)重命名/移動/複製你的文件,但是直接做了這些,而沒有告訴svn它。在那種情況下,這些文件是不相關的,你已經'失去'了歷史。您必須手動顯示原始文件的日誌。

+3

我知道** svn日誌**應該工作我確實以這種方式做了。但不幸的是,** svn log **僅僅停留在移動點,甚至不需要停止拷貝**。登錄的問題是我得到的第一個日誌〜 – Drake 2011-03-06 16:05:12

+0

正如我所說:「如果它沒有跨越你的那些,那麼你還沒有用適當的svn命令重命名/移動/複製你的文件」 – Stefan 2011-03-07 15:29:17

+1

No Stefan,這就是不是它「不適合你」的唯一原因。如果您正在查看子目錄的日誌並且文件是從該目錄之外的位置複製的,日誌可能會停下來。那就是你可能需要升級並使用'svndumpfilter'去除不需要的目錄。 – 2015-07-09 15:00:57