簡體   English   中英

svn merge不合並

[英]svn merge doesn't merge

我正在嘗試將一些來自trunk的修補程序合並到一個分支上。 當我比較trunk/foo.pybranches/feature/foo.py ,我看到了差異。 然而,當我運行svn merge https://<svn server>/trunk/foo.py foo.py ,沒有任何更改被合並。 使用--force選項重試也沒有任何效果。 似乎SVN認為功能分支的foo.py副本是最新版本。 如何說服SVN呢?

編輯:我的Subversion客戶端是svn版本1.6.16(Linux)。 服務器正在運行trac,版本0.12。

EDIT2:服務器的subversion版本是1.6.9。 感謝評論中的hasienda指出trac和subversion不一定是相關的。

我先說

  • Trunk和Branch文件都是否已提交給SVN? 如果文件不在存儲庫中,則不會發生合並。
  • 比較svn info <trunk>/foo.pysvn <branch>/foo.py ; 檢查上次更改的修訂版和日期,如果SVN說它們是同一個文件,則不會發生合並。

您可以查看高級合並以獲取更多信息。

我不確定你使用的是什么版本的subversion,但是我認為合並跟蹤還沒有完全實現。

每當Subversion中的某些內容出現異常或似乎比它應該更難時,我的一般經驗法則是在一個新的,干凈的目錄中獲取一個新的工作副本,並在沒有本地修改的情況下再次嘗試。 這往往排除了一些難以察覺的微妙問題。

另外,執行svn diff <server>/branches/this_branch <server>/trunk以確保Subversion認為存在合並更改。 在此處使用兩個存儲庫路徑將消除工作副本的任何可能問題。 如果上面的diff命令在您將分支URL與WC的路徑交換時給出了不同的結果,那么問題可能在您的工作副本中。

您還可以通過向merge命令提供兩個完整URL來純粹在存儲庫中進行merge 如果你走這條路線,我強烈建議使用--dry-run選項在合並之前預覽合並。

此外,您是否有合理使用特定文件名而不是簡單地將整個/trunk合並到您的分支的原因? 在將整個修訂版本合並到一個分支而不是特定文件中時,我通常會看到更少的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM