结账后SVN,惊叹号和问号

时间:2016-12-20 11:06:53

标签: svn

我刚刚检查了svn存储库并在svn st输出中得到了这个:

?       trunk/doc/PaymentSystems/Протокол_взаимодействия.doc
!       trunk/doc/PaymentSystems/Протокол_взаимодействия.doc

我个人不需要这个文件,但它阻止我合并:

svn: E195016: Merge tracking not allowed with missing subtrees; try restoring these items first:
trunk/doc/PaymentSystems/Протокол_взаимодействия.doc

我尝试svn revertsvn cleanup,删除并检查文件,没有任何帮助。编码可能存在一些问题(文件名在西里尔文中),我猜,但不知道如何解决问题。有任何想法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,我最初认为这个问题是由于文件名造成的。一些“奇怪的”名称,如Протокол_взаимодействия.doc(通常这些包括象形文字或变音符号,在这种情况下为й)会在某些文件系统上引起这种问题,至少 HFS + MacOS有。 Mac在这里使用分解处理这些字符,与Linux / Windows不同,存储两个单独的符号(在我的情况下,字母й的上部和下部)。因此svn认为我们要么添加了一个新文件并同时删除了一个文件。长话短说,修复:

  • 检查svn的当前版本并删除它。我使用brew安装了我的,因此我卸载了brew uninstall svn
  • 从这个仓库安装svn:https://github.com/tholu/homebrew-tap,它有正确的utf路径补丁。
  • 将版本与brew link subversion18
  • 相关联
  • 使用svn --version检查版本,如下所示:

svn, version 1.8.16 (r1740329) compiled Dec 21 2016, 16:31:22 on x86_64-apple-darwin15.6.0