回答
我不知道在Subversion中通過時間跟蹤語句的方法。
但是很簡單,但是看到文件中的任何特定行最後一次使用svn blame
進行了更改。檢查SVNBook:svn blame
reference:
簡介
svn blame TARGET[@REV]...
說明
只看該作者和修訂版本信息行中指定的文件或URL。文本的每一行都在開頭用作者(用戶名)和最後一次更改的修訂號進行註釋。
svn blame顯示哪個checkin修改了上一次文件中的任何行。
這也適用於舊版本。
您正在查找的命令是svn blame
。
一開始就是命令svn blame(或註釋,讚美)。它會顯示一行代碼的最後修改時間和修改人。例如: -
4564 wiemann # $Id$
4564 wiemann # Author: David Goodger <[email protected]>
778 goodger # Copyright: This module has been placed in the public domain.
217 goodger
svn annotate
的AKA SVN從TortoiseSVN怪。
在TortoiseSVN客戶端有一個非常不錯的功能,讓你:
- 怪文件,顯示每行的最後一個變化(這是標準)
- 「追溯以前版本」後,點擊上面視圖中的特定行(這是好的一行)
第二個功能是按照它說的 - 它顯示最後修改行之前的註釋修訂。通過迭代使用此功能,您可以追溯特定行的歷史記錄。
如果怪不顯示該行怎麼辦?我有這種情況,我尋找特定線路的變化。用tortoise->責備修改lates修改。在文件中,我可以看到一個特定的行,在責備我無法找到它。 – Offler 2013-03-20 07:17:38
我通常:
- 運行
svn blame FILE
第一。 - 請注意特定行的最後修訂版。從那裏手動
svn blame FILE -r 1:REV
- 跟蹤:
請與
-r
說法另一個查詢。
這可以分兩個階段進行:
svn blame /path/to/your/file > blame.tmp
grep "your_line_of_text" blame.tmp
您可以稍後刪除blame.tmp文件,如果你不需要它。
原則上,可以用大致相同的任何腳本語言編寫簡單的腳本。
在Eclipse就可以知道,當你的代碼的每一行已經使用SVN註釋視圖,或者在文件上點擊右鍵→團隊→註解顯示...承諾。
這裏的關鍵是需要多少歷史記錄。正如其他人指出的,簡短的答案是:svn blame
(詳情請參閱svn help blame
)。如果你在歷史或遠期處理重大變化,你可能需要的不僅僅是這一個命令。
我只是自己做了這件事,並發現這(ye ole)線程在這裏。下面是我用CLI
解決這個問題的方法,特別是針對我的情況,API改變了(例如,將某人遠遠過時的工作(不在分支上,和)移回到基於up到最新的中繼線)。例如。函數名稱已經發生了變化,以至於不清楚哪個函數需要被調用。
第一步
下命令讓我通過網頁提交,事情的文件「fileName.h」在發生了變化,並查看相應的版本號(注意:您可能需要改變「10」根據你的svn日誌文本或多或少的情況)。
svn log | grep -C 10 "fileName.h" | less
這導致此文件的修改版本列表。
第二步
然後,它是使用blame
(或其他人指出,annotate
)縮小到感興趣的修訂一件簡單的事情。
cd trunk
svn blame [email protected] | less
例如,找到感興趣的修訂是35948.
第三步
已經發現通過指責感興趣的修訂版本,一個差異可以生產充分利用SVN工具。
svn diff -r35948:PREV fileName.h
結論
有一個視覺差異使得它更容易與新的/更新的API名稱標識舊的API名稱。
- 1. 在EF代碼中記錄用戶更改的歷史記錄
- 2. 如何找出一行代碼的更改歷史記錄
- 3. Subversion修訂歷史記錄和登錄源代碼
- 4. 從SSH命令行歷史記錄刪除特定歷史
- 5. TFS 2010個別代碼部分的更改歷史記錄
- 6. 從Git歷史記錄中刪除具有歷史記錄的特定文件
- 7. TFS - 在Visual Studio中獲取特定代碼行的歷史記錄
- 8. 更改Javascript的歷史記錄
- 9. Delphi歷史記錄 - 源代碼管理
- 10. GWT歷史記錄:歷史記號
- 11. 在TFS 2010中更改代碼語言並保留歷史記錄
- 12. Eclipse運行歷史記錄
- 13. 如何繪製git repo的代碼行歷史記錄?
- 14. 如何執行vim特定的shell歷史記錄
- 15. 不使用GUI更改SQL代理歷史記錄屬性
- 16. 如何以特定的方式從git獲取更改歷史記錄
- 17. 如何在Subversion版本庫歷史記錄中查找文件?
- 18. 在通知表中存儲數據更改的歷史記錄
- 19. 如何更改git歷史記錄中的文件路徑?
- 20. 在svn中生成文件更改的歷史記錄
- 21. 更改git歷史記錄中所有提交的時區
- 22. p4可否忽略歷史記錄中的更改列表?
- 23. Java編輯器中的Eclipse SVN更改歷史記錄
- 24. 如何在MySQL中保留記錄更新的歷史記錄?
- 25. LDAP登錄歷史記錄
- 26. Sharepoint文件修改歷史記錄
- 27. 如何在SQL Server中的歷史記錄表中存儲歷史記錄
- 28. Django AttributeError修改字段沒有跟蹤更改歷史記錄
- 29. 如何在QT Console python中保存代碼歷史記錄?
- 30. window.location.replace在ASP.Net代碼中使用時生成歷史記錄
你已經解決了OP的問題,但是我仍然想知道是否有某種方法可以跟蹤特定行的歷史記錄 - 當有太多的行和太多的修訂版來手動查看時。 – JohnK 2016-03-25 19:46:46
許多gui工具,例如tortoiseSVN(在Windows上)在構建此功能方面做得很好,可以讓您走過歷史。通常突出顯示任何相鄰線條一起變化並使其容易進入該差異,然後從早期版本中選取相關行號並重復。我很高興並且很快追蹤了大型回購(> 10歲),其中包括從CVS遷移,甚至將存儲庫克隆作爲歷史記錄的一部分進行剪切和粘貼。爲了實現更多自動化,也許你可以將repo導入到git中,並使用其更高級的基於內容的責任能力。 – morechilli 2016-04-04 14:13:00