我在一個已經有很多「TODO」註釋的代碼庫中工作,在我推送我的更改集之前,我想確保我沒有在其中留下任何TODO註釋(而不是實際執行此操作,或將其添加到新功能數據庫並刪除註釋)。僅在特定的mercurial變更集中發生更改的文件中搜索「TODO」?
目前我只是在每個評論中使用「TODO:Wilka」,因此很容易搜索。但是,Mercurial有沒有一種方法,我只能在變更集合中已更改的文件中搜索「TODO」?理想情況下,它只會搜索實際發生變化的行 - 但即使只是文件也會很好。
我在一個已經有很多「TODO」註釋的代碼庫中工作,在我推送我的更改集之前,我想確保我沒有在其中留下任何TODO註釋(而不是實際執行此操作,或將其添加到新功能數據庫並刪除註釋)。僅在特定的mercurial變更集中發生更改的文件中搜索「TODO」?
目前我只是在每個評論中使用「TODO:Wilka」,因此很容易搜索。但是,Mercurial有沒有一種方法,我只能在變更集合中已更改的文件中搜索「TODO」?理想情況下,它只會搜索實際發生變化的行 - 但即使只是文件也會很好。
搜索一組特定的修訂版,你可以這樣做: :
hg grep -r 0:3 "\bTODO:"
DIFF之間想通過管道輸送到grep的版本,只修改過的文件的文件可以用grep的
hg diff -r 100:105 | grep TODO
編輯搜索正如在評論中提到的,這是假設安裝了grep(非Windows環境)
@thanks Tim,如果使用Windoes,請使用findstr而不是grep
這裏假設grep可用 - 這不適用於(例如)一個標準的Windows機箱。 –
在Windows上,您可以用'findstr'替換'grep'。在這種簡單的情況下,它的工作原理是一樣的。 –
自動化方式是通過Mercurial commit hooks。與checkfiles的擴展referred to by mercurial developers一樣,examples可能會有所幫助。
以我的經驗,提交鉤子是一個混雜的包,經常做你想要的東西,但是當你真的想提交一個TODO時會感到厭煩。 Shelve extension試圖解決這個問題,但治療可能比問題更糟。
我還沒有探討可能是漂亮的東西像hg com --but-ignore-my-TODO-hook
的可能性。
難道你不是說預推鉤? – bbaja42
恕我直言,這將顯示項目中的所有TODO,不僅是他介紹的那些? – bbaja42
這是一個公平點 - 這將列出給定修訂中的所有「TODO:」實例。刪除'--all'將僅返回每個文件匹配的第一個匹配 –
也我不認爲問題要求他介紹的問題(「我可以搜索」TODO「只在已經更改的文件集合中「) –