2008-11-17 59 views
4

我有一個Subversion存儲庫,並且有許多用戶檢查和檢出內容。但是,我還需要經常爲其他人工作。我需要跟蹤作品的原作者。如何在SVN中爲單個文件的單個修訂版本設置屬性

我正在考慮在SVN中創建一個屬性,比如「originalauthor」,它可以跟蹤這個。如果它是空的,我可以使用作者。如果它被填充,我可以適當地將這些更改歸因於它。

但是,我看不到一種方法來添加不會通過多個修訂版持續的屬性。同樣,似乎沒有使用提交鉤子的方式來保證「originalauthor」屬性將被刪除,如果有提交沒有包含它。

我總是可以重寫服務器上的密碼文件,以允許我在他們的用戶名下提交,然後恢復原始密碼文件,但這看起來很笨重(並且不讓我跟蹤它被簽入的事實他們代表)。或者我可以創建一個額外的用戶(所以每個「用戶A」都有一個「用戶代理」),我可以用它來檢查更改。這些選項都不具有吸引力。

任何建議,或想法?

回答

9

顛覆有兩種對文件或目錄的屬性

  • 屬性。這些屬性版本爲
  • 修訂屬性。這些都是特定於它們適用的逆向。

如果您希望標記文件的所有版本,第一種類型只有有用。

爲了紀念一個特定的路徑Subversion項目本身增加了原作者是由contribulyzer腳本讀取一個特殊格式的日誌消息:

Patch by: Jan Jansen <[email protected]> 

但是,如果您有可用的工具(可以假設顛覆1.5+)你也可以使用

svn commit --with-revprop "original-author=Jan Jansen <[email protected]>" 

創建一個orignal作者的修訂版本屬性。

要檢索的屬性,那麼你可以使用svn日誌爲:

svn log <...> --with-revprop original-author 
+0

我認爲這將起作用,特別是如果我有一個後提交腳本添加屬性,如果它丟失。 – 2008-11-17 22:40:26

0

爲什麼不爲所有其他用戶(誰需要代理)有一個單獨的分支,然後當您檢查他們時(我假設您因爲他們不允許這樣做而代他們進行檢查),那麼您提升爲主幹?

我不知道爲什麼其他用戶不允許自己辦理登機手續。或者如果你解釋我們可以提供更好的答案。

+0

將允許用戶檢查自己。但其中許多是非技術性的,並且不習慣與源代碼控制系統一起工作。理想情況下,他們都會學習,但我不能強迫他們這樣做。 – 2008-11-17 22:16:44

相關問題