我正在尝试在我的服务器上设置Trac并成功安装它,编译字节码并运行tracd服务器。唯一的问题是它没有读取我的SVN存储库。
我收到的错误是:
警告:无法与存储库同步(无法打开Subversion存储库/ data1 / repos:SubversionException :(“预期的FS格式'2';找到格式'4'”,160043))。查看Trac日志以获取更多信息。
(是的,我的单个存储库位于名为“repos”的文件夹中 - 我没有设置该位)
trac.ini
看起来像这样:
repository_dir = /data1/repos
repository_type = svn
我正在运行:Trac 0.11.5,Python 2.4.3,Collabnet SVN 1.6.5,SWIG 1.3.29
答案 0 :(得分:3)
您的python svn库是否已更新?听起来很陈旧。
答案 1 :(得分:3)
你应该确保python绑定符合你的SVN版本。
要获取绑定,您可以使用SVN源并编译包装器,install概述了如何构建该绑定的过程。
首先你必须下载svn source
在UNIX上为SVN构建SWIG绑定
构建swig绑定后
第1步:安装合适的版本 SWIG(即 目前swig版本1.3.24 - 1.3.31)。
* Perhaps your distribution packages a suitable version - if it
确实 安装它,并跳到本节的最后一个要点。
* Go to http://www.swig.org/, download the source tarball, and
解包。
* In the SWIG-1.3.xx directory, run ./configure. If you plan to build the Python bindings, and have a system with more than one version of Python installed, you may need to pass --with-python=/path/to/correct/python/binary to the configure script. You need Python 2.4 or above. If you plan to build the Perl bindings, and have a system with more than one version of perl installed, you may need to pass --with-perl5=/path/to/correct/perl/binary to the configure script. You need Perl 5.8.0 or above. * Build and install. Run 'make && make install' * To verify you have SWIG installed correctly, run "swig
-version” 从命令行。 SWIG应该报告它是版本 1.3.24 或者更新。
然后是python的东西
第3步:安装特定语言 绑定
的Python
从Subversion源代码树的顶部运行'make swig-py', 构建绑定。
(这将在* .i文件上调用SWIG,从而产生一个集合 of .c源文件。然后它将编译并链接这些.c文件 成 Python库。)
从Subversion源代码的顶部运行'make check-swig-py' 树,测试绑定
运行'make install-swig-py'(通常为root) 从Subversion源代码树的顶部。这将复制 将新的Python库放入适当的系统位置。
注意:如果您无权安装Python的站点包 目录,您可以将Python模块安装到您的家中 目录。你可以通过运行来做到这一点 'make install-swig-py swig_pydir =〜'。
注意:如果要安装到备用前缀(通常只是 如果你正在构建包),你可以在这里提供前缀。一个 这样做的例子就是建立rpms 'make install-swig-py DESTDIR = $ RPM_BUILD_ROOT / usr'。
确保绑定安装的目录 在 在你的Python搜索路径中。那个目录取决于你的方式 安装;典型的位置是/ usr / local / lib / svn-python /.
有几种方法可以做到这一点。请参阅Python的文档 'sys.path'和'PYTHONPATH'。一个很好的方法是: $ echo / usr / local / lib / svn-python \
/usr/lib/python2.x/site-packages/subversion.pth
您可能还需要更新操作系统的动态链接器 配置使Python能够加载这些新库。一些 系统通过运行'ldconfig'来完成。
答案 2 :(得分:2)
可能是Subversion Python绑定是针对过旧版本的Subversion编译的,但鉴于FS格式2是pre-1.0,,可能还有其他错误。您可以像这样获得Subversion客户端库版本:
>>> import svn.client
>>> svn.client.svn_client_version().major
1
>>> svn.client.svn_client_version().minor
6
>>> svn.client.svn_client_version().patch
5
答案 3 :(得分:0)
看起来这些家伙已经非常彻底地回答了你的问题,但是FYI:设置日志文件,这样你就可以在下一个问题中阅读它。在你的trac.ini某处:
[logging]
log_file = trac.log
# log_format = <inherited>
log_level = DEBUG
log_type = file
之后,尽可能尝试将trac部署到apache - 使用mod_python或FastCGI,trac文档说它比运行tracd快得多。