2014-06-05 73 views
-1

我有一個hg(水銀)回購位於,說:如何徹底改變了汞回購的結構

http://myhg:5000/projects/fizzbuzz 

fizzbuz目錄具有以下基本結構:

fizzbuzz/ 
    src/ 
     ... thousands of source files 
    docs/ 
     ... lots of docs 
    tests/ 
     ... lots of tests 

我現在完全重新設計fizzbuzz應用程序。新應用程序的項目結構將完全不同(從上往下),比現有的一個:

fizzbuzz/ 
    herps/ 
     foo/ 
      ... thousands of foos 
     bar/ 
      ... thousands of bars 
    derps/ 
     ... lots of derps 

它本質上是一個全新的應用程序。我想一個解決方案是刪除fizzbuzz回購,然後創建一個新的,並將我的代碼添加到新的。但我想知道是否有辦法基本告訴hg清除回購中的所有內容(但不能刪除回購),然後添加新的重新設計的內容。或者以其他方式優雅地換出新的舊代碼庫。想法?提前致謝!

回答

0

當然,您可以通過刪除所有內容並提交所有更改(所有刪除操作)來擦除存儲庫。如果您需要恢復或查看舊代碼,則通過在刪除之前檢出修訂版,仍然可以使用該代碼。除非您的存儲庫在磁盤上非常大,否則這可能是一條可行的路線 - 或者您可以爲新版本啓動新的存儲庫,並保留當前版本。

無論是哪種情況,刪除所有代碼及其歷史記錄通常都是不明智的。

0

看看Convert extension。雖然設計上無法更改當前存儲庫的歷史記錄,但您可以通過hg convert根據現有存儲庫的歷史記錄構建新的存儲庫。這對於您描述的場景非常有用,您需要將文件結構重構爲舊歷史不再有用的程度。

這就是說,考慮直接在你當前的倉庫中進行更改。通過重寫歷史,你會獲得什麼樣的實際好處?現在進行更改,Mercurial將繼續執行跟蹤您來自哪裏的工作。