[英]SVN conflict with no file on hard drive
我有兩台PC和svn repo。 我已使用筆記本將文件添加到svn,並在另一個上說了svn。 該文件是新文件,在我的第二台PC上不存在,但得到:
@konrad:~/svn$ ls web/web/browser.xslt.xml
ls: cannot access web/web/browser.xslt.xml: No such file or directory
@konrad~/svn$ svn up
Conflict discovered in 'web/web/WEB-INF/xslt/browser.xslt.xml'.
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options:
這是什么意思?
您的ls
顯示了一個不同的文件: web/web/browser.xslt.xml
而不是web/web/WEB-INF/xslt/browser.xslt.xml
。 您確定系統上沒有web/web/WEB-INF/xslt/browser.xslt.xml
嗎?
我一直都遇到這些神秘的沖突,這令人沮喪,因為在解決這個問題之前您什么也做不了。 我想您可以進行完全比較 ,然后決定合並什么或如何合並,但是我總是感到沮喪,因為我真的沒有時間思考和解決問題。
終止更新並執行svn status
。 這將為您提供原因。 也許您已使用svn delete
刪除了該文件,並且此文件正在進行更新。 也許您添加了文件,其他人也做了。 也許您的驅動器上有該文件的非Subversion版本,有人在Subversion中添加了該文件。 有時,我發現沖突只不過是svn:mergeinfo
屬性中的沖突。
最簡單的方法就是擺脫問題,接受存儲庫中的所有內容:
svn resolved
。 那將使它脫離沖突狀態 。 svn status
。 這將向您顯示Subversion認為您做了什么。 例如,您是否刪除了此文件或添加了此文件。 svn revert
。 svn status
應顯示文件為原始文件。 svn update
。 現在,您將擁有存儲庫中的最新副本。 清理完所有內容后,您可以決定如何繼續。 即使這是我所做的更改與某人所做的更改之間的真正沖突,我仍然更喜歡這樣做。 我可以使用vimdiff
來查看差異,並且比在更新過程中進行更新要容易得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.