2011-02-14 70 views
0

我正在自己的項目中工作。我有顛覆設置,並使用tortoisesvn來管理它。問題是我已經從頭開始,並有一個單獨的我的項目完全工作的實例,但它不是在顛覆。使用Subversion/Tortoise提交全新目錄SVN

如何將該實例轉換爲subversion並作爲最新版本。我嘗試從我的非svn目錄中粘貼當前svn工作副本中的文件,但並非所有內容都已更新。

我有備份的一切,但它是在我想要的非SVN文件夾中的代碼,我不想從當前的工作副本中的任何東西?

這是否有意義?

+1

如果文件名相同(大小寫全部),那麼在登記之前覆蓋它們時會出現什麼問題?什麼沒有更新? – 2011-02-14 14:18:34

回答

1

更換一個SVN倉庫的東西完全不同內容的最簡單的的方法是:

  1. 執行庫的完全結賬,
  2. 的文件全部刪除(無法使用Windows'刪除'命令,但通過使用SVN中的'刪除'菜單項右鍵點擊子菜單)
  3. 提交更改
  4. 複製要替換舊存儲庫內容的新文件和文件夾,
  5. '+添加'全部(再次使用SVN右鍵單擊菜單)
  6. 再次提交更改。

這個'簡單'方法的缺點是,你將無法使用比較來比較這兩個修訂之間的代碼。

hard方法是回溯哪些文件被移動,重命名,刪除和更新的步驟,以便仍然可以在這兩個修訂之間使用差異。訣竅是:

  1. 要使用SVN右鍵點擊子菜單命令所做的一切,而不是Windows文件系統操作,這樣可以記錄變化。
  2. 只做每個文件一個動作在時間(因此,如果一個文件被移動到文件夾,重命名,然後進行修改,你應該做的每一種變化之間的提交)
0

我會用WinMerge並遞歸比較這兩個目錄(忽略.svn文件夾)。 假設左側是SVN工作拷貝,而右側是正確的項目,而不是SVN下:

  • 存在於左側,但不是在右側的所有文件都必須
  • 全部刪除存在於右側但不在左側的文件必須複製到左側並添加到SVN
  • 所有存在於兩側但不相同的文件必須在左側由右側的文件替換
  • 雙方存在的所有文件必須保持原樣。

一旦你完成了所有這些操作,你只需要提交。這樣,除了重命名/移動的文件,您將保留歷史記錄。