2009-10-29 50 views

回答

9

你想要做的是在該源文件上做一個Blame,它會告訴你修改了每一行代碼。

我不知道任何命令能夠給你所有修訂給定的代碼行......你可以做的是做一個單一的文件顯示日誌,然後看看每一個隨着時間的推移發生的修改。

+0

是否還有一種方法可以查找某個行被修改的* all *版本?責備只會給我最後一次修訂。 – 2009-10-29 11:33:01

+0

不,它只會告訴你誰最後改了一行。他希望他能指出一條線,並顯示這條線的修改(我對這個問題的解釋)。 – 2009-10-29 11:33:35

+0

我不知道任何這樣的命令能夠給你所有修訂給定的代碼行......你可以做的是在單個文件上做一個顯示日誌,然後看看每個修訂版隨着時間的推移發生。 – mezoid 2009-10-29 11:36:19

1

您可以右鍵單擊存儲庫中的文件並選擇TortoiseSVN-> Show Log以獲取此文件受到影響的修訂版本。在逐行的基礎上,我無法知道。

2

Mezoid的責備聽起來沒錯。另外,我想分享一個命令行svn用戶可能會覺得有用的技術。 (這是關於svn責備,但我使用「註釋」的同義詞,或「svn安」,因爲「怪」聽起來有點苛刻!)

好的,所以你有一條你感興趣的線,有一個獨特的字符串「distinctiveString」。您想在首次引入該行時閱讀提交消息,但可能已編輯了幾次。所以,你繼續前進,這樣做:

# svn ann that.file | grep distinctiveString 
2345  yada yada distinctiveString blah blah 

看看你的TRAC Web界面SVN顯示r2345簡單地改了行的縮進,這不是在導入了線的修訂。所以,下次你使用-r標誌(或-r,做SVN幫助中安以確保)指定版本比你在上一步中找到的版本少了一個:

# svn ann -R 2344 that.file|grep distinctiveString 
2211 yada yada distinctiveString blah blah 

沖洗和重複,直到你找到原本的。

您可以在每個步驟中省略TRAC查找,只需重複直到您不再看到該行,並且採用倒數第二次迭代的結果。

好吧,這有點費勁,但如果你真的想知道誰介紹那行,它會做的工作。如果原始提交消息解釋了一段代碼的意圖,那麼它可以節省您的時間,否則這些代碼看起來可能會被刪除。

+0

我喜歡它。我必須嘗試一段時間。 – mezoid 2009-10-29 12:20:11

相關問題