2011-05-01 62 views
12

我打算跑(我的服務器上力SVN更新/結帳覆蓋本地文件

SVN更新

更新我的LIVE網站的更新。不過,我擔心'C'衝突會阻止我的網站腳本運行。我如何強制結帳/更新過程覆蓋所有本地文件(我的服務器上的)?

我知道一個解決方案是在單獨的目錄上執行此操作 - 其他任何更有效的操作?

我看了Force an SVN checkout command to overwrite current files

我沒有--force選項

+0

請澄清:你爲什麼會擔心衝突?您的服務器上是否存在未提交給SVN的本地更改?如果是這樣,你想要發生什麼變化?如果不是,則「svn update」命令不應引起任何衝突。 – ChrisH 2011-05-02 03:36:00

回答

4

會點擊的目錄,並將其恢復爲基礎,然後更新有同樣的效果?

+0

對不起,這是在服務器本身 – siliconpi 2011-05-01 16:35:02

+0

那methodoly是我需要的!謝謝! – siliconpi 2011-05-05 02:06:34

3

你應該問Subversion更新你的工作副本。如果合併是必要的,Subversion會告訴你。如果沒有,你會擁有最新的一切。

我認爲一個更好的解決方案是將你的代碼合併到Subversion中,完全吹走你的工作副本,然後檢查乾淨的項目。

您的存儲庫應該包含所有有意義的代碼,而不是您的工作副本。

+0

抱歉,這是服務器本身 – siliconpi 2011-05-01 16:34:51

10

如果您沒有--force選項,我認爲您沒有--accept。 svn更新有一個名爲--accept的新選項來「指定自動衝突解決操作」。它可能是: postopone, mine-conflict, theirs-conflict, edit, launch, theirs-full, mine-full or base

svn help update將幫助!

-1

我知道這是一個超級老問題,但我試圖找到如何做到這一點我自己以及與此想出了:

svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs -Ixx rm -rf xx 

基本上,這列出了所有版本的文件,在你的倉庫,然後通過管道該清單被強制清除。這會在沒有提示的情況下刪除所有未版本控制的文件,因此請確保你知道你在做什麼。