儘管這裏有幾個類似的問題(例如,SVN - Reintegration Merge error: "must be ancestrally related")和Web上,但我無法弄清楚爲什麼svn mergeinfo <file>
在我的所有SVN存儲庫中導致錯誤。與所有其他Q &正如我所發現的那樣,我實際上能夠成功執行svn merge
。例如,撤銷先前提交到pom.xml
文件:svn mergeinfo - E195016:「必須是祖先相關的」
svn merge -r 17409:17408 pom.xml
--- Reverse-merging r17409 into 'pom.xml':
U pom.xml
--- Recording mergeinfo for reverse merge of r17409 into 'pom.xml':
U pom.xml
--- Eliding mergeinfo from 'pom.xml':
U pom.xml
然而,當我執行svn mergeinfo
,我得到以下錯誤:
svn: E195016: 'https://../trunk/MyProject/[email protected]' must be ancestrally related to
'https://../trunk/[email protected]'
在這個例子中,50446是目前的最新版本號對於我試過的每個文件,我都會得到同樣的錯誤。只有當我在頂部目錄本身執行mergeinfo命令時,它才起作用:
svn mergeinfo .
youngest common ancestor
| last full merge
| | tip of branch
| | | repository path
50446 50446
| |
-------| |------------ ../trunk/MyProject
\
\
--| |------------ ../trunk/MyProject
|
50446
而且即使是陌生人,我也沒有發現任何mergeinfo屬性集。像svn propget svn:mergeinfo --recursive
或svn propget svn:mergeinfo --depth=infinity
命令不輸出任何內容,與狀態代碼成功返回0
有沒有人有一個想法,我怎麼能解決我們的文件是「祖先相關的」再次它們位於項目?
遠在歷史中,我看到一個提交(帶有'svn log --verbose --stop-on-copy'),其中有人通過刪除它來移動目錄'D/base/trunk/lib/plugin'並添加它進入另一個主幹'A/tools/trunk/plugin(從/ base/trunk/lib/plugin:16026)'。這是否會解釋我爲什麼會遇到這些錯誤? – dokaspar
@dokaspar我重讀你的問題,並注意到我誤解了你的問題。改進我的答案,正確解決您的問題。請,你能檢查它嗎? – MiguelKVidal
所以再次歸結爲RTFM :) – dokaspar