如何以编程方式“即时”设置SVN存储库?

| 我正在设置一个系统(基于PHP),该系统将允许用户立即设置SVN环境以供使用。这是一个内部项目,因此用户将主要是内部用户。 我什至没有从哪里开始的最模糊的想法。是否有PHP的SVN绑定,还是我必须使用use0ѭ控制台命令?     
已邀请:
        这是一种可能性。您将在此处执行几个步骤。首先,您需要在PHP操作脚本中创建svn repo,也许像这样:
$name = $_REQUEST[\'name\'];
// gonna need some sanity checking on $name here. no \'..\', no \'/\'s, etc
$cmd = \'svnadmin create \' . escapeshellarg(\'/var/svn/\' . $name) . \' --fs-type fsfs\';
exec(\'sudo \' . $cmd, $output, $exitValue);
if ($exitValue != 0) {
    // put the error message on the session, redirect out
}
$cmd = \'chown -R apache:apache \' . escapeshellarg(\'/var/svn/\' . $name);
exec(\'sudo \' . $cmd, $output, $exitValue);
// error handling again
您需要设置sudo,以允许您的Web服务器运行该svnadmin命令。然后,您需要在/etc/httpd/conf.d中放入新的apache .conf片段:
<Location /$name>
   DAV svn
   SVNPath /var/svn/newproj
   #AuthType Basic
   #AuthName \"SVN Repository\"
   #AuthUserFile /var/svn/${name}.passwd
   #Require valid-user
</Location>
并重新启动Apache。为了安全起见,也许也创建该newproj htpasswd文件。确保检查并清除所有传递的表单值($ _REQUEST)。希望这可以帮助您入门。     
        使它执行
svnadmin create reponame
以创建存储库。我认为没有任何库,因为您通常只找到客户端SVN库。 只是建议“配置” Git仓库要简单得多。而且由于客户端和服务器之间没有区别,因此通过git库(http://code.google.com/p/git-php/)等进行处理非常简单。当然,您可能只需要SVN仓库,但是如果您有选择,请选择git。     

要回复问题请先登录注册