TracError:不支持的版本控制系统“svn”:无法导入名称 fs

TracError:不支持的版本控制系统“svn”:无法导入名称 fs

一开始我遇到了重复数据库条目错误,在尝试修复它时,我根本无法重新同步我的 Trac 数据库。无法导入所有历史记录,我尝试从 0.12 升级到 1.0.1,但现在当我运行同步时,要么什么都没有发生,要么我收到错误TracError: Unsupported version control system "svn": cannot import name fs

尝试重新同步所有存储库没有任何效果

[/var/trac/repo]# trac-admin . repository resync "*"
Done.

指定 repo 会返回错误

[/var/trac/repo]# trac-admin . repository resync "MyRepo"
TracError: Unsupported version control system "svn": cannot import name fs

错误最初显示“svn”,但运行后pip install svn我到达了现在的位置,但却pip install fs无法摆脱这个错误。

尝试过:

  • 更换为旧款 Traceasy_install Trac==0.12并重新更换easy_install Trac==1.0.1
  • 使用 pip 安装依赖项:pip install svnpip install fs
  • 尝试运行“resync”和“sync”命令。

系统:

  • CentOS 5.10
  • 蟒蛇2.7.5
  • Trac 1.0.1

答案1

我终于能够通过从系统默认的 python 2.4 站点包以及我的 python2.7 中完全删除 Trac 0.12 来实现这一点。我曾经pip删除Tracsvnyum删除subversion。此时,我必须从源代码构建、、pcre和才能使其正常工作。swigsubversionsvn-python

源文件:

假设 python2.7 安装在 下,/usr/local/bin/python2.7并且库安装在 下/usr/local/lib/python2.7/site-packages

安装 PCRE:

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
tar -xzvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make && make install

安装 SWIG(指定--with-python=/path/to/python2.x):

wget http://prdownloads.sourceforge.net/swig/swig-3.0.2.tar.gz
tar -xzvf swig-3.0.2.tar.gz
cd swig-3.0.2
./configure --with-python=/usr/local/bin/python2.7
make && make install

安装 Subversion(指定PYTHON=/path/to/python2.x

wget http://archive.apache.org/dist/subversion/subversion-1.7.9.tar.gz
tar -xzvf subversion-1.7.9.tar.gz
cd subversion-1.7.9
./configure PYTHON=/usr/local/bin/python2.7
make && make install

make swig-py
make check-swig-py
make install-swig-py
echo /usr/local/lib/svn-python \
           > /usr/local/lib/python2.7/site-packages/subversion.pth
ldconfig

安装 Trac

pip2.7 install trac

完成后,我能够成功重新同步我的存储库。不要忘记svn在 Trac 配置中启用它,它在 1.0+ 中不再默认启用。

[root@dev1 ~]# trac-admin /var/trac/myrepo repository resync "MyRepo"
Resyncing repository history for MyRepo... 
5827 revisions cached.
Done.

相关内容