WebSVN 列出所有存储库。但不显示文件

Posted

技术标签:

【中文标题】WebSVN 列出所有存储库。但不显示文件【英文标题】:WebSVN listing all repositories. But Not showing files 【发布时间】:2012-12-27 11:44:36 【问题描述】:

Apache 版本:Apache/2.2.15 (Unix) 操作系统:Fedora release 13 (Goddard)

在加载 WebSVN 时,它显示了在下面文件中配置的所有存储库,但是在单击存储库名称时显示“Rev 0”,请参阅随附的屏幕截图。

 /var/www/html/websvn/include/config.php

<?php
$config->parentPath("/repos");
$config->addRepository('landfill', 'file:///repos/proj/landfill','Projects');
$config->setTemplatePath("$locwebsvnreal/templates/calm/");
$config->setMinDownloadLevel(2);
set_time_limit(0);
$config->expandTabsBy(8);
?>

【问题讨论】:

您是否有任何示例配置文件供您的设置共享?我正在运行我自己的 svnserve 的 WebSVN,它运行良好。具体来说,我有兴趣查看您的 config.php,并且您是否在同一个盒子上运行 svnserve? 嗨@slm 我在上面添加了 config.php 文件的内容,是的,正如你所问的,两者都在同一个系统中运行 【参考方案1】:

尝试几件事。

首先是我的config.php

$config->parentPath('/proj/lamolabs.org/scm/svn');
$config->addTemplatePath($locwebsvnreal.'/templates/calm/');
$config->useTreeIndex(true); // Tree index, open by default
$config->setShowLastModInListing(true);
$config->addInlineMimeType('text/plain');
$config->allowDownload();
$config->setMinDownloadLevel(2);
$config->useGeshi();
set_time_limit(0);
$config->expandTabsBy(2);

其次,我为 svnserve 设置了我自己的启动/停止脚本 /etc/init.d/svnserve

#!/bin/bash
# Control script for the Subversion daemon
#
# chkconfig: 2345 89 40
# description: Subversion daemon
#
# processname: svnserve

source /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

### Default variables
SYSCONFIG="/etc/sysconfig/subversion"

### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="svnserve"
desc="Subversion daemon"

start() 
  echo -n $"Starting $desc ($prog): "
  daemon $prog -d $OPTIONS
  RETVAL=$?
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
  echo


stop() 
  echo -n $"Shutting down $desc ($prog): "
  killproc $prog
  RETVAL=$?
  [ $RETVAL -eq 0 ] && success || failure
  echo
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
  return $RETVAL


case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    RETVAL=$?
    ;;
  condrestart)
    [ -e /var/lock/subsys/$prog ] && restart
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 start|stop|restart|condrestart"
    RETVAL=1
esac

exit $RETVAL

第三,我为svnserve设置了一个配置文件/etc/sysconfig/subversion

# Configuration file for the Subversion service
#
# To pass additional options (for instace, -r root of directory to server) to
# the svnserve binary at startup, set OPTIONS here.
#
#OPTIONS=
OPTIONS="--threads --root /proj/lamolabs.org"

我在标题为Git and subversion setup on CentOS 5 的帖子中写了我如何在blog 上设置它。该帖子包含一些可能有用的附加信息。

让我知道你是怎么做到的,我很想知道你的设置是怎么回事。

编辑#2

/etc/httpd/conf.d/subversion.conf:

<VirtualHost *:80>
  UseCanonicalName Off
  ServerName websvn.lamolabs.org
  ServerAlias websvn.bubba.net
  DocumentRoot /var/www/websvn/current
  <Directory /var/www/websvn/current>
    Allow from all
  </Directory>
</VirtualHost>

【讨论】:

嗨@slm 这两个博客链接不起作用[可能是临时问题,过一段时间再检查] 我还有一个问题,在设置 WenSvn 时,您是否对 apache 配置进行了任何修改? 嗨@slm,我又观察到了一件事,这可能有助于查明问题。在文件 /var/www/websvn/include/config.php 中,我删除了所有 $config->addRepository 条目,只保留了 $config->parentPath('/repos/proj');但是在这种情况下,在加载“//myserver/websvn/”页面时它显示以下错误!请使用 $config->parentPath 或 $config->addRepository 在 include/config.php 中设置存储库路径 更多详细信息请参阅安装指南 您好@slm 我在另一个 Ubuntu 系统中安装了 ApacheWebsvn,该系统无需任何配置更改即可工作。 是的,这也是我的经验,它通常可以正常工作。您可能想比较 Apache、PHP、SVN 等的版本,看看您使用的特定版本是否有问题。 嗨@slm 你的操作系统是什么?【参考方案2】:

在 Menu sytem>Administration>SElinuxManagement Disabled Selinux 现在它工作正常!!

【讨论】:

以上是关于WebSVN 列出所有存储库。但不显示文件的主要内容,如果未能解决你的问题,请参考以下文章

WebSVN 权限问题

WebSVN - 存储库中路径的身份验证

ls -列出当前目录下所有的文件或者目录

让 git diff --stat 显示完整的文件路径

基础命令行

git:比较更改