使用Subversion 1.6安装Trac

时间:2009-11-16 05:06:00

标签: python svn installation trac

我正在尝试在我的服务器上设置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

4 个答案:

答案 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

         
        
    1. 从Subversion源代码树的顶部运行'make swig-py',   构建绑定。

           

      (这将在* .i文件上调用SWIG,从而产生一个集合   of .c源文件。然后它将编译并链接这些.c文件   成   Python库。)

    2.   
    3. 从Subversion源代码的顶部运行'make check-swig-py'   树,测试绑定

    4.   
    5. 运行'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'。

    6.   
    7. 确保绑定安装的目录   在   在你的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'来完成。

    8.   
  •   

答案 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快得多。