2009-04-30 49 views
1

將存儲庫從Git轉換爲Mercurial會導致每個日誌消息中加載虛假的「committer:」行。我無法想出一個方法來不生成這些。如果我轉換SVN存儲庫,則不會添加這些行。它似乎只是一個混帳的東西。如何將日誌中沒有額外的「committer:」行的情況下轉換爲Mercurial?

這很容易測試。以下是如何在Linux上:

mkdir repo && cd repo 
git init 
echo hello > foo.txt 
git add foo.txt 
git commit -m"Initial import" 
cd .. 
hg convert repo 
cd repo-hg 
hg log -v 

日誌會說這樣的事情:

changeset: 0:077135a87f99 
tag:   tip 
user:  Your Name <[email protected]> 
date:  Mon Jan 01 12:04:46 2001 
files:  foo.txt 
description: 
Initial import 

committer: Your Name <[email protected]> 

所以,我怎樣才能避免多餘的 「提交者:」 行?

回答

5

這是一個特定於git的東西,而且hg convert會添加這個,因爲hg無法表示這些信息。在git中,提交者和作者不必是同一個人(git,IMO的真正特徵)。

這似乎沒有任何特定的文檔,它不是一個可配置的功能。我確定他們會愉快地接受補丁。 :)

+0

你說得對。是什麼讓我感到「hg view」在日誌中顯示了不同的Committer和Author字段以及「committer:」。用「hg commit -u」進行的測試表明,hgk實際上是在解析缺少的「提交者」元數據的日誌,後來我只看了一下hgk的源代碼,而這實際上就是它的功能。問題是,如果提交者和作者是相同的,提交者:行可能不應該被添加。 – richq 2009-05-01 08:37:12

相關問題