首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于“断言`svn_uri_is_canonical(child_uri,NULL)”失败,无法执行初始svn签出。中止(内核转储)

由于“断言`svn_uri_is_canonical(child_uri,NULL)”失败,无法执行初始svn签出。中止(内核转储)
EN

Stack Overflow用户
提问于 2021-12-15 01:10:34
回答 1查看 377关注 0票数 0

努布警报..。我对Linux和Apache/SVN都相当陌生,所以下面这个问题可能是一个愚蠢的用户错误(愚蠢地指用户和错误)。

通常情况下,我可以用谷歌搜索解决方案,但在下面的“圆锥形”错误上,我已经被困了几天了。谷歌对"svn_uri_is_canonical(child_uri,NULL)“的引用不多,也不包括访问"error: git-svn死于信号6”(我没有看到)。

如有任何关于我应该在哪里解决以下问题的建议,将不胜感激。

当我尝试签出svn安装期间创建的SVN存储库时,我会看到以下错误

代码语言:javascript
运行
复制
$ svn checkout http://127.0.0.1/svn/first-repo
Redirecting to URL 'http://127.0.0.1/svn/first-repo/':
svn: /build/subversion-Z4OiCa/subversion-1.13.0/subversion/libsvn_subr/dirent_uri.c:1562: uri_skip_ancestor: Assertion `svn_uri_is_canonical(child_uri, NULL)' failed.
Aborted (core dumped)

有关安装的详细信息

在我的浏览器中,输入"http://127.0.0.1/svn/first-repo/“显示:

代码语言:javascript
运行
复制
first-repo - Revision 0: /
--------------------------------------------------------
Powered by Apache Subversion version 1.13.0 (r1867053).

运行svnadmin以检查回购:

代码语言:javascript
运行
复制
$ svnadmin verify /var/www/svn/first-repo 
* Verifying metadata at revision 0 ...
* Verified revision 0.

来自dav_svn.conf (仅进行更改)

代码语言:javascript
运行
复制
Alias /svn /var/www/svn
<Location /svn>

  DAV svn

  SVNParentPath /var/www/svn

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/svnusers

  Require valid-user

</Location>

“os-release”的内容:

代码语言:javascript
运行
复制
NAME="Linux Mint"
VERSION="20.2 (Uma)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 20.2"
VERSION_ID="20.2"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=uma
UBUNTU_CODENAME=focal

Apache版本:

代码语言:javascript
运行
复制
$ apachectl -v
Server version: Apache/2.4.41 (Ubuntu)
Server built:   2021-10-14T16:24:43

SVN版本:

代码语言:javascript
运行
复制
svnadmin --version
svnadmin, version 1.13.0 (r1867053)
   compiled Mar 24 2020, 12:33:36 on x86_64-pc-linux-gnu

对于安装,我遵循了本指南https://linuxtechlab.com/simple-guide-to-install-svn-on-linux-apache-subversion/

我在执行命令时遇到了问题:

代码语言:javascript
运行
复制
    $ sudo apt-get install apache2 libapache2-mod-svn libapache2-svn
    E: Unable to locate package libapache2-svn

根据谷歌的一个结果,这个包被提到了一个“假的”&不需要.不确定它是否与这个问题有关

我卸载并再次尝试从本指南(非常类似的说明与小的差异) https://www.ubuntupit.com/how-to-install-and-configure-apache-svn-server-on-linux-desktop/

我再次遇到执行命令时遇到的问题:

代码语言:javascript
运行
复制
    $sudo apt-get install subversion libapache2-mod-svn libapache2-svn libsvn-dev
    E: Unable to locate package libapache2-svn

当我尝试签出时,仍然会发生相同的锥形错误。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-12-15 11:26:08

读医生 小心

谁,什么时候,哪里告诉你使用相同的svn路径,LocationAlias,更糟的是,同名?!

假设所有的先决条件都满足了,那么

从没有前面的Location部分开始,不将web服务器内部的实际存在的物理路径与某种虚拟位置(在/var/www/中的服务器根目录和/svn位置是非常大的错误)混合在一起,使用smth。喜欢(相应地移动回购)

代码语言:javascript
运行
复制
<Location /svn>
  DAV svn
  SVNParentPath /var/repos
</Location>

用现有的repo (最好不是127.0.0.1,但在apache的conf ServerName中定义)用web浏览器或git-svn桥测试虚拟系统的功能,但使用纯CLI svn客户端。

在“开放”回购的成功签出后,通过auth选项展开配置,并重新检查(签出和提交)基本操作。

PS:在普通的网络空间中放置存储库是极端的坏主意(tm),虽然不是直接禁止的,但至少是完全不安全的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70357400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档