2009-06-05 60 views
2

我正在使用git-svn跟蹤一個svn倉庫,並且有一個authorsfile來獲取提交者的真實姓名。 svn似乎並不關心用戶名的大小寫 - 有用戶名變體的提交,如用戶名用戶名用戶名絕對屬於同一提交者。不幸的是,git-svn尊重套管,所以我必須將所有變體添加到我的作者文件中。由於該文件是自動生成的,這有點問題 - 這與NameSurname用戶名沒有太大的問題,但SomeNickname失敗。git-svn:忽略authorsfile中svn用戶名的大小寫?

有沒有辦法讓git-svn在使用authorsfile時忽略用戶名框?

回答

1

好,混帳svn的實際運行一個Perl程序,以便您可以編輯,如果你敢:

/usr/lib目錄/ git的核心/在Debian Linux上

有混帳svn的似乎只是是的幾行代碼,這都涉及到查找用戶數據庫:

周圍線1217:

  next unless /^(.+?|\(no author\))\s*=\s*(.+?)\s*<(.+)>\s*$/; 
      my ($user, $name, $email) = ($1, $2, $3); 

改變第二線爲小寫$用戶提供這樣的「LC」:

  next unless /^(.+?|\(no author\))\s*=\s*(.+?)\s*<(.+)>\s*$/; 
      my ($user, $name, $email) = (lc $1, $2, $3); 

,並把在作者文件只是小寫的ID以電子郵件的映射,如:

foo = Mr Foo <[email protected]t> 
bar = Ms Bar <[email protected]> 

我沒有測試過!

+1

這不幸沒有按預期工作。我用一種不同的方法解決了這個問題 - 因爲authorsfile是從一個不同的映射文件轉換而來的,我現在檢查svn日誌,在轉換文件時使用混合大小寫過濾所有用戶名併爲它們添加額外的翻譯。 – bluebrother 2009-06-06 21:42:57