簡體   English   中英

將CVS存儲庫導入GIT結果中,導致一些與時間戳相關的誤導性行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM