2012-07-10 53 views
2

Subversion的一個問題是,它只能通過用戶名識別提交。例如,Git允許將全名和電子郵件地址作爲元信息添加到提交中。有些組織要求用戶帳戶難以映射到人員。其中一些組織也需要使用svn。製作這種情況下可行的代碼評審使我以下的問題:是否有可能在Subversion上保留一些元信息提交

  • 是否有可能維持在提交一些元數據信息,這樣我就可以有SVN做映射

,或者如果那是不可能的,

  • 我怎麼會去這樣做使用Git svn的我的本地系統上的映射?
+0

是不是已經足夠讓你只保留一個外部映射:subversion作者<->完整信息? – 2012-07-10 08:45:21

+0

外部映射對我個人來說很有用,但如果信息也可以在使用像fisheye這樣的svn的工具中看到,那將會更好。 – iwein 2012-07-19 15:43:25

回答

1

您可以在任何subversion修訂版本上設置自定義修訂版本屬性(有關詳細信息,請參閱http://svnbook.red-bean.com/en/1.7/svn.advanced.props.html)。

$ svn propset property_name property_value -r<REV> --revprop 
property 'property_name' set on repository revision <REV> 

這可能會在post-commit鉤子腳本(腳本調用可以看看在修訂作者,查找短作者姓名解析使用一些映射文件,如authors.txt所有作者信息 - - 見下文)。

GIT中< - >像SVN或subgit GIT中 - svn的也可以使用authors.txt映射以下列格式tranlation解決方案:

shortname = Long Name <[email protected]> 
anothername = Another Long Name <[email protected]> 
... 

路徑authors.txt文件應該被由「core.authorsFile指定'配置選項在子文件或'--authors-file ='cli選項在git-svn中爲每個git-svn命令(對於git-svn --authors-file只適用於SVN-> Git翻譯,Git-> SVN總是在用戶名下創建一個修訂版本;對於subgit,該選項在兩個方向都起作用)。

+0

我沒有修復錯字,因爲UI不會讓我。 s/tranlation/translation/ – iwein 2012-08-31 09:34:33

1

如果你需要用git-svn做一個「git用戶」到「顛覆用戶」的複雜映射,我推薦使用--authors-prog選項來「git svn clone」。例如,你可以創建my-complex-mapping.sh,它將subversion用戶作爲其第一個參數,然後回顯你希望git使用的「Git User」名稱。那麼你會運行「git svn clone --authors-prog = $ HOME/my-complex-mapping.sh」

+0

對第二個問題非常有用的答案,謝謝! – iwein 2012-08-31 09:35:20

相關問題