我已經成功使用了SVN幾周,但是最近我收到了來自供應商的代碼的更新版本。我使用更新後的文件覆蓋了本地安裝,並期望能夠提交更新文件,其他人則可以獲取更新的版本。但是,當我覆蓋我的本地文件時,SVN未檢測到文件已更新。如果有問題,我正在使用Tortoise SVN。SVN在覆蓋文件時未檢測到更改
更新:我沒有複製更新後代碼的工作副本(源代碼中沒有.svn文件夾)。但是,我注意到文件上的最後修改日期比他們更早替換 - 這會阻止SVN檢測到變化嗎?此外,大部分文件都使用ioncube加密。
我已經成功使用了SVN幾周,但是最近我收到了來自供應商的代碼的更新版本。我使用更新後的文件覆蓋了本地安裝,並期望能夠提交更新文件,其他人則可以獲取更新的版本。但是,當我覆蓋我的本地文件時,SVN未檢測到文件已更新。如果有問題,我正在使用Tortoise SVN。SVN在覆蓋文件時未檢測到更改
更新:我沒有複製更新後代碼的工作副本(源代碼中沒有.svn文件夾)。但是,我注意到文件上的最後修改日期比他們更早替換 - 這會阻止SVN檢測到變化嗎?此外,大部分文件都使用ioncube加密。
本地svn數據位於您工作副本的每個目錄中(位於每個目錄下的.svn目錄中)。因此,如果您已將新代碼中的目錄複製到代碼目錄(包括子目錄)中,那麼您可能也複製了其.svn目錄。這意味着svn無法知道它被更改了。
如果您想要在目錄中執行遞歸替換代碼,則應確保粘貼到現有代碼上的代碼本身不是工作副本,或者它已從.svn目錄中刪除。要獲取存儲庫的非wc副本,可以使用svn export。
最新版本的subversion通過僅將元數據存儲在wc根目錄而不是所有子目錄中來解決此問題。
請確保您不覆蓋.svn文件夾。
如果您刪除此文件夾或將其替換爲其他文件夾,您將遇到一些同步錯誤和/或svn完整性問題。
你可以做什麼(以及我通常用這樣的問題做什麼)是清除項目文件系統中的所有.svn文件夾並重新提交所有內容。
請看看這篇文章:http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/
這一個:http://www.anyexample.com/linux_bsd/bash/recursively_delete__svn_directories.xml
的那些舊的我注意到,在文件的最後修改日期比他們更換
像大多數人一樣,我會懷疑這些文件沒有改變。但是,如果他們真的有,Subversion detect changes如果你touch該文件更新最後修改日期?
不,我只是碰了一個文件,沒有檢測到任何變化。 – Michelle
這些步驟幫助我承諾。爲了解決這個問題,他們可能也會幫助你。
你確定這些較新的文件真的不同於你的? – sharptooth
是的,它是一個增量更新,因此所有文件都包含更新的代碼。 – Michelle