2012-02-14 61 views
0

我遇到了網絡問題,因此我沒有直接檢出,而是將同事的工作副本複製到我的計算機上。但是,他忘記了根.svn文件夾(所有其他.svn文件夾都存在)。我試過如下:強制Subversion將「未版本控制」文件標記爲已解決且爲最新版本

$ svn checkout --depth empty <URL> . 

這已經得到了使用svn將其識別爲一個資料庫,但無版本都被標記。我怎麼能告訴svn,本質上,「不,真的,這是同一個文件!!!請將它標記爲已更新!!!」

+1

您確實複製了存儲庫?不是工作副本?另一件事:由於工作副本的格式在最新的SVN版本中已經發生變化,您應該告訴我們您的同事SVN客戶端安裝的版本號以及您自己的版本。 – 2012-02-14 08:40:44

+0

更正了有關工作副本的陳述。不幸的是,我不知道他的版本是什麼。我的是1.6。 – 2012-02-14 09:34:09

+3

也複製剩餘的.svn文件夾。 – Dialecticus 2012-02-14 10:01:57

回答

1

如果沒有.svn文件夾存在於所有工作副本目錄(包括根目錄)中,則無法執行任何操作。從SVN書

摘錄:

.svn文件夾也被稱爲工作拷貝的管理目錄。管理目錄中的 文件可幫助Subversion識別哪些 版本文件包含未發佈的更改,以及哪些文件 相對於其他人的工作已過期。

enter image description here

更具體地說,如圖所示的畫面,.svn文件夾包含有關工作拷貝的當前目錄修訂工作(一個你的工作副本有)和所有文件的時間戳信息。

該信息有助於定義文件的狀態。其實,在下圖中顯示,有四種可能的狀態:

enter image description here

因此,如果沒有.svn文件夾有沒有辦法來定義你的工作拷貝的文件是否是相同的或從遠程文件不同存儲庫,即使你知道他們是相同的 - 顛覆不知道

結論:你應該準確地複製相同.svn文件夾作爲你的同事在他/她的工作副本了。沒有其他辦法可以使它工作。

+0

但是,我可以,例如,'svn添加'所有文件,並運行'svn up',並選擇'mine-full(mf)'爲每個衝突?這幾乎可行,但它需要用戶爲每個單個文件保持「mf」,並且還有樹衝突需要處理。也許有可能解決這些問題? – 2012-02-14 13:35:23