最近更新SVN仓库到电脑时,报了如下错误:

svn: /build/subversion-Lv3Qkk/subversion-1.9.7/subversion/libsvn_subr/dirent_uri.c:1523: uri_skip_ancestor: Assertion `svn_uri_is_canonical(child_uri, NULL)' failed.
Aborted (core dumped)

命令执行崩溃了。

最开始以为是内存不够或者存储空间不够导致,但是检查后发现空间是足够的,排除这类原因。

接着,猜测是不是这台电脑预装的svn版本不兼容?检查后也排除这个原因了。

再看错误信息,似乎与uri有关。检查路径也没有发现啥问题,况且是从版本库拉取新的工程,按说没有也不存在lock的情况等。至此陷入了迷茫。

下一步就网上搜索看看,有没有人遇到同样的问题。基本上有类似问题的报告,但不是这里的1523行,而是其他行错误,问题多与拉取版本库的url不规范有关。

于是乎,再次反复检查url,没有发现有啥问题。用浏览器应该可以明确url的问题。决定放弃这条线,再思考其他方法。

突然,想着,既然整个版本无法拉取,先试试其中的部分目录,看看能否获取,是不是工程太大了导致。一实验,唉,子目录是可以的。这就更奇怪了,不过可以肯定问题跟根目录有点关系。

于是一个目录一个目录的获取,到引用目录时出现了问题,恍然大悟,原来是外链的原因。之前可能调整了版本的外链,此时获取新的工程,外链关联的内容都不存在,于是获取外链内容就出现了问题,这也就跟问题与uri有关对应上了。重新调整外链,再次尝试,OK,可以了。

通过这个问题的处理,还是有一点点的收获的,就是遇到问题,通过网络查找到一定程度时需要静下来思考思考,切忌盲目的不间断的想通过网络搜素直接得到答案,否则,不仅浪费时间,还对自身的提高帮助甚微。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐