2012-07-06 86 views
1

我試圖找出爲什麼有人已刪除文件的BZR倉庫內。我知道它在那裏,但現在它消失了。從那以後,已經有數百次提交。沒有人想通讀每一個。我只是想在文件被刪除時找到修訂號,以找出它被刪除的原因。查找BZR修訂版本,其中文件被刪除

是否有BZR一個命令,可以做到這一點?我嘗試使用bzr日誌文件名,但它給了我一個錯誤:

bzr: ERROR: Path unknown at end or start of revision range: 

有什麼建議嗎?

回答

4

,你可以放棄的bzr log -v結果到一個文件,然後搜索,對於有問題的路徑中第一次出現。

或者,使用日誌的--xml選項,並使用XPath查詢包含有問題的路徑,這是已刪除項目元素的一個子元素。

+1

和修訂,其中文件不存在,那麼你可以用'bzr log -rN..M -v'縮小搜索範圍,然後搜索特定的文件名。 – bialix 2012-07-07 11:51:21

0

轉儲日誌或一個範圍使用bzr log -rN..M -v被別人所建議的日誌。

爲了使結果更容易一點,只有版本號和刪除的文件此過濾器sed可能是有用的信息:如果你大概知道修改文件時仍然存在

bzr log -v -r1..-1 | sed -ne '/^revno/ p' -e '/^removed/,/^[^ ]/{/^/p}' 
+0

收到此錯誤:sed的:1: 「/ ^刪除/,/^[^]/{/ ^/... ...」:在p命令結束多餘的字符,當我通過慶典終端 – Allen 2012-08-15 03:29:44

+0

運行啊,你一定要在BSD上。試試這個:'bzr log -v -r1 ..- 1 | sed -ne'/^revno/p'-e'/^removed /,/^[^]/p''。這種方式的輸出不那麼幹淨,但應該可以工作。 – janos 2012-08-15 06:17:25