[英]Import a CVS repository into GIT results in some misleading behaviors related to timestamps
我使用git cvsimport
將我的CVS存儲庫導入到全新的GIT存儲庫中。
不幸的是,在某些情況下,某些提交報告的順序錯誤。
例如,我有兩個CVS版本的文件,rev1.1在11.39am和rev1.2在11.42am; 在GIT中,我可以看到11.42am的提交(內容等於rev1.2)和隨后的提交在11.45am(內容等於rev1.1)。
我知道cvsimport手冊頁中陳述的已知問題
如果cvs存儲庫中提交的時間戳不夠穩定,無法用於訂購提交,則更改可能會以錯誤的順序顯示。
但我無法理解足夠穩定的意思。
而且,如果有人能為我提供解決這個問題的方法,那就太好了。
非常感謝你
cghersi
很容易將git欺騙到時間戳中,因為它僅檢查本地時間,因此cvs可能會檢查標簽設置順序的時間。
但是解決這個問題的方法是使用cherry-pick 。 這個命令幾乎是來自提交的復制粘貼,所以你可以簡單地從rev1.1中提交一個checkout
,並在rev1.2之后使用cherry-pick
進入提交。 比使用了一個rebase -i
只是為了擦除/壓縮rev1.2之后的重復提交。 使用rebase / cherry-pick時,提交的樹將請求一個悲傷的push -f
進入分支來修復所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.