我不知道究竟是怎么回事,但我的git-svn现在已经过了。
ERROR from SVN:
Transaction is out of date: File '/proj/some/file.java' is out of date
No changes between 61f2c8cfa5881aab335edc2c0807f288c420f624 and refs/remotes/svn/git-svn
Resetting to the latest refs/remotes/svn/git-svn
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.
之前在SO上有一个similar question,但这两个解决方案都不适合我 - 没有合并冲突,并且移开.git / svn并且运行git svn fetch
并没有改变git svn dcommit
的错误1}}。运行fetch确实有一个有趣的声明:
M proj/some/file.java
... [merge list] ...
Last fetched revision of refs/remotes/svn/git-svn was r8104, but we are about to fetch: r8102!
不确定这意味着什么。
修改 当我在SourceTree中查看树时,我可以看到SVN在主分支“前面”并且在r8102在两个树中“重复”后提交。将主设备恢复到r8102之前并尝试再次向前移动并没有解决问题。
编辑2: 树看起来像这样:
+-------D---E---F---G remote/svn/git-svn
/
A---B---C---D---E master
在我尝试@Ben的建议git rebase remotes/svn/git-svn master
之前,我应该期待什么?有许多提交(这里是B& C)在遥控器中没有显示,但在主设备中,我注意到重复似乎与我在不同隧道方法之间切换有某种关系。我需要在这里保护svn,这更符合我的个人兴趣(以及将来避免出现问题)。
来自我的.subversion / config:
[tunnels]
wlan = /usr/bin/ssh -F /dev/null -l petri -t -A wifi-gateway /usr/bin/ssh -F /dev/null -l svnremote -A
wan = /usr/bin/ssh -F /dev/null -l petri -t -A extern-gateway /usr/bin/ssh -F /dev/null -l svnremote -A
这导致不同的svn提交注释,如
git-svn-id: svn+wan://dev/svn/v9/trunk@8102 b9636cbc-3124-4d49-8704-a9669b6dc9bf
我想知道这里是否存在一些错误的引用ID问题......