2012-01-07 30 views
4

我正在使用git cvsimport來使用CVS服務器,它工作正常。 但是,一些非常古老的項目有很多提交和大文件。它會導致cvsimport花費很長時間檢查所有提交併將它們轉換爲git格式。如何讓git cvsimport checkout在某日期後更改?

cvsimport這樣的:

git cvsimport -v -a -d :pserver:[email protected]:/cvs cvsroot/my_module 

是否有可能一些日期後,選擇提交?

回答

2

從理論上講,您應該可以使用git cvsimport-p選項與cvsps-d選項一起使用。下面是從該名男子頁的兩個相關的提取物:

的git cvsimport:

-p選項<換cvsps>

爲cvsps附加選項。選項-u和-A是隱含的,不應在此處使用。

如果您需要傳遞多個選項,請用逗號分隔它們。

cvsps:如果

-d <日期1> -d <日期2> 僅指定一個日期,顯示修訂版比DATE1更新。如果指定了兩個日期,則顯示兩個日期之間的修訂。

不幸的是,當我用它,cvsps抱怨日期:

$ git cvsimport -v -d <cvsroot> -p "-d '2012/01/01 00:00:00'" <module> 
Running cvsps... 

bad usage: invalid argument -d '2012/01/01 00:00:00' 

Usage: [...] 

git cvsimport: fatal: cvsps reported error 

運行cvsps本身可以接受的日期了,所以這樣的兩個步驟應該工作。

cvsps -d '2012/01/01 00:00:00' > patchset 
git cvsimport -d <cvsroot> -P patchset <module> 

您可以檢查cvsps的輸出,以確認它只有您指定的日期之後的變化,運行冗長cvsimport命令。

+0

它究竟籤的日期後的變化。但是,在日期之前沒有任何快照。 :D – qrtt1 2012-02-27 06:23:52

+0

無論如何,這是有用的信息。我可以按日期簽出快照,然後應用cvsimport。非常感謝你。 – qrtt1 2012-02-27 06:39:30

2

我猜你必須用逗號單獨的cvsps參數:

git cvsimport -v -d <cvsroot> -p -d,'2012/01/01 00:00:00' <module> 
相關問題