使用https://github.com/AndreyNikiforov/vault2git我能夠將Vault repo轉換爲Git,然後使用Mercurial的hg convert
來獲得hg repo。唯一的問題是在運行hg convert
後,更改集合提交日期的日期不正確。Vault to Git到Mercurial不能保存日期
日期顯示更改集從got到mercurial而不是提交日期轉換的時間。
我還需要做些什麼來保存日期嗎?
使用https://github.com/AndreyNikiforov/vault2git我能夠將Vault repo轉換爲Git,然後使用Mercurial的hg convert
來獲得hg repo。唯一的問題是在運行hg convert
後,更改集合提交日期的日期不正確。Vault to Git到Mercurial不能保存日期
日期顯示更改集從got到mercurial而不是提交日期轉換的時間。
我還需要做些什麼來保存日期嗎?
我得到這個通過刪除檢查在hg convert
git
擴展提交者信息的文件中https://www.mercurial-scm.org/repo/hg-stable/file/09b200396384/hgext/convert/git.py行125
到130
代碼工作:
if n == "committer":
p = v.split()
tm, tz = p[-2:]
committer = " ".join(p[:-2])
if committer[0] == "<": committer = committer[1:-1]
committer = self.recode(committer)
一旦你刪除此,hg convert
將用於作者信息日期。您需要複製repo鏈接中的convert擴展名,對其進行修改,然後將其添加到TortoiseHg。
爲什麼這需要做:
當git
犯,有兩個記錄在變更元數據:committer
和author
。
作者是代碼負責人。
提交者實際上是對存儲庫進行了更改的人員。
這種區別是一個開源項目,其中誰編寫代碼的人並不一定是其提交至倉庫的人員很重要:通常有接受拉項目的維護者(提交者)來自貢獻者(作者)的請求並將其提交到存儲庫。
Vault2Git
使用Vault簽入信息(提交者和提交日期)作爲git changeset作者信息。 git提交者信息使用git用戶的信息和提交的實際日期(您的存儲庫的默認用戶)。您可以通過對Vault2Git
所做的更改集執行git cat-file <rev hash>
來查看此差異。
這適用於git,但是當您運行hg convert
時,Mercurial使用author
名稱和committer
日期創建Mercruial變更集元數據。
可能是多餘的問題,但爲什麼你會進一步從git轉換爲mercurial? :) – favoretti
我的目標是讓repo進入mercurial,而vault2git是我找到的唯一的x庫。 – Omar
@Omar git倉庫中的時間戳是否正確? – Rudi