2011-08-24 100 views
1

我想知道當SVN文件直接更新而不是使用SVN會發生什麼?我問的主要原因是,當服務器(linux)有兩個名稱相同但大小不同的情況下,在我的機器(Windows)上更新SVN時出現問題。我在服務器上解決了這個問題,但沒有通過SVN完成,因爲它不會更新正確,但我仍然遇到問題。我是否需要運行某種命令來更新它?SVN未使用時會發生什麼?

謝謝。

編輯:

我刪除了工作direcotry的comflicting文件,並想知道,如果在工作目錄處事目錄中都得到跟蹤或需要做重新同步的。

+0

您直接在存儲庫或工作目錄中更新了文件?目前還不清楚你在問什麼,因爲svn的全部內容是你用其他編輯器編輯文件,然後提交你的修改。 – geoffspear

+0

我加入了問題。工作目錄是我刪除文件的地方。 – fanfavorite

回答

1

當SVN被阻止,因爲該倉庫是更多的「最新」比當地結賬,一個腦死亡的萬無一失的解決方案是:

  1. 移動(或刪除),它們在引起衝突的文件命令行(不要使用SVN工具來做到這一點,如果你已經安裝了烏龜,不要使用GUI)。
  2. svn更新存儲庫,它將從Subversion服務器恢復文件的當前副本。
  3. 決定如何處理舊文件的緩存副本。要麼手動將它們合併回存儲庫,放棄它們,要麼重新創建新svn託管文件中的更改(取決於您的需要)。

請注意,如果您將文件移動到使用烏龜的目錄中,請確保將其移動到與任何SVN項目無關的目錄中。嘗試撤消有用的更改龜在認爲您希望SVN移動伴隨文件系統移動時的作用並不好玩。

+0

儘管答案沒有直接回答我的問題,但它幫助我獲得瞭解決方案。我不得不使用svn del命令刪除存儲庫中的映像以匹配工作目錄。 – fanfavorite

+0

@fanfavorite,那麼,這是我的大腦死亡解決方案,因爲它實際上並不試圖瞭解情況。也就是說,有時瞭解情況並非必要,只需要進行快速更正即可重新開始工作。 –

0

無需運行任何特殊命令。如果你更新了源代碼,下次你將運行svn update subversion將無縫合並更改,你將得到一個最新的工作副本。

如果您更改了某些文件,它們將顯示爲已修改或衝突,具體取決於您和其他用戶所做的更改。

+0

當我在命令行中的服務器上運行svn update/path時,我會跳過'/ path'。有什麼我失蹤? – fanfavorite