2012-04-27 55 views
1

我正在將3個SVN存儲庫 複雜遷移到1個具有不同結構的新存儲過程中。如何批量添加缺少的svn:作者到存儲庫或轉儲?

我剛剛發現兩個存儲庫有成千上萬的空白 提交「這是一個空的填充版本。」全部針對根和全部 沒有任何作者信息。難以置信的。

svnfiltereddump落在這些提交上,因爲它需要一個svn:author,所以我需要一種技術來解決這個問題。

我想知道如果我可以使用

svndumptool.py transform-revprop svn:author SOMETHING gareth.hughes input.dump utput.dump 

,但我想不出什麼正則表達式將只匹配 一個空的作者字段。

否則我正在尋找添加一個svn:author到存儲庫中的大約8000個提交中,而不是順序的方法。 或者,可以將它們從轉儲過濾出來的工具,畢竟它們都是垃圾。

非常感謝

回答

0

,答案是正常的過濾流工作

svndumpfilter --drop-empty-revs --renumber-revs include /somepath 

但隨後發生進一步的錯誤,我發現非常有用

./svndumpfilter3 --untangle=/path/to/repo /somepath 

可以用這些錯誤處理。

0

好消息是,您可以在執行轉儲和加載之前處理此問題,而不是在轉儲和加載過程中嘗試處理問題。 svn:author修訂版屬性包含提交該修訂版的作者。由於這是一個修訂版本屬性,您可以在不必在Subversion存儲庫中創建新版本的情況下更改此版本。只需執行以下操作:

$ svn propset --revprop -r$rev svn:author $default_author $repository_url 

對每個版本沒有作者。您可以輕鬆地執行此操作:

$ svn log -r1:LAST $repository_url 

可以獲取修訂中所有日誌條目的列表。如果您發現沒有作者的版本,則可以在該URL上設置svn:author版本屬性。我甚至不相信你需要一個工作目錄才能做到這一點。

相關問題