我们在我们的 repo 中看到了一个奇怪的问题,其中以下命令报告了传入的冲突:
svn merge --dry-run -r BASE:HEAD . | egrep -e '^[[:space:]]*(A|B|C|D|E|G|U)+[[:space:]]+'
C path/to/fileA
C path/to/fileB
C path/to/fileC
U path/to/fileD
但是, svn up 实际上不会导致冲突。实际上,输出如下所示:
At revision 7922.
At revision 7922.
At revision 7922.
U path/to/fileD
Updated to revision 7922.
据我所知,有问题的文件没有什么奇怪的。svn status 不报告任何问题,svn info 显示文件是最新的,svn resolve 无效。这种情况会定期发生,但并非每次都发生,而且总是显示相同的文件。
有没有人见过这个?
编辑:看起来我遗漏了一个关键细节,这也许就是为什么没有人能够在这里回答的原因。在 svn up 步骤中,我们将单独更新每个文件以避免在分级自动部署期间发生冲突(例如 t0:期待传入的更新,t1:对数据库运行任何必要的架构更改,t1+X:更新其余的批次,其中 X 可能是一个重要的数字)。完整更新如下所示:
svn up --depth=empty path/to/fileA path/to/fileB path/to/fileC path/to/fileD
At revision 7922.
At revision 7922.
At revision 7922.
U path/to/fileD
Updated to revision 7922.