我有多个通过Apache 2.2和WebDAV服务的Subversion版本库。 他们都位于一个中心位置,我用这个debian-administration.org文章作为基础(虽然我放弃了使用数据库身份validation一个简单的htpasswd文件虽然)。 从那以后,我也开始使用WebSVN 。 我的问题是,并非系统中的所有用户都应该能够访问不同的存储库,并且WebSVN的默认设置是允许任何可以进行身份validation的人员。 根据WebSVN文档,最好的解决方法是使用Subversion的path访问系统,所以我打算使用AuthzSVNAccessFile指令创build它。 当我这样做的时候,我总是收到“403禁止”的消息。 我的文件如下所示: 我有一个文件中的默认策略设置: <Location /svn/> DAV svn SVNParentPath /var/lib/svn/repository Order deny,allow Deny from all </Location> 每个存储库都有如下的策略文件: <Location /svn/sysadmin/> Include /var/lib/svn/conf/default_auth.conf AuthName "Repository for sysadmin" require user joebloggs jimsmith mickmurphy </Location> default_auth.conf文件包含这个: SVNParentPath /var/lib/svn/repository AuthType basic AuthUserFile /var/lib/svn/conf/.dav_svn.passwd AuthzSVNAccessFile /var/lib/svn/conf/svnaccess.conf 我不完全确定为什么我需要在default_auth.conf中的第二个SVNParentPath,但我今天刚添加,因为我添加AuthzSVNAccessFile指令得到错误消息。 有完全宽容的访问文件 [/] joebloggs = rw 系统工作正常(基本上没有变化),但是当我开始尝试添加任何types的限制时,例如 [sysadmin:/] joebloggs […]
我有一个简单的SVN项目,一切正常。 我想使用这个简单的项目中的文件夹中的另一个 SVN服务器的代码。 我该怎么做? 我希望能够稍后更新这个“其他”SVN服务器的代码。 svn co http://svnserverone.com/projects/trunk/ mjproject svn co http://anotherserver.com/whatever/trunk/ mjproject/path/module 感谢您的时间和答案! 奥托
我们运行一个SVN仓库。 我们的一些更高级的用户需要能够执行一些SVNpipe理,而不依赖于系统pipe理员。 他们需要能够做一些事情,比如创buildSVN仓库,删除SVN仓库,执行诸如“svnadmin dump”和“svnadmin load”之类的命令。 我们希望避免在这些FreeBSD机器上使用SSH,并且希望通过Web UI提供一个服务接口。 我正在寻找一个使用Perl或PHP的简单脚本(或less量脚本)。 我find了svnadmin (来自Jochen Hoenicke)或者svnadmin.pl (来自doug munsinger),但是希望find一个更大的用户社区或者被别人推荐的东西。 它看起来像Trac允许SVNpipe理,但随着我们需要可能更多的function。
我们要求我们的pipe理员在我们的CentOS 6.5服务器上更新SVN。 他这样做,结果是SVN 1.6.11。 不过目前版本的SVN是1.8.9。 我知道CentOS yum版本库并不总是最新的。 但在这种情况下,我很困惑:SVN 1.6.x不再官方支持。 这意味着它没有得到任何安全修复! 官方的CentOS仓库如何提供这样一个旧的(和危险的)版本? 我们(或我们的pipe理员)是否有理解错误的方式?
[02:48] [root @ server:〜] ps ax | grep svn 23986? Ss 0:00 / usr / bin / svnserve -d -r / srv / svn正如你从参数中看到的,我的svn根目录是/ srv / svn。 现在,来自远程机器的一些魔法… 这工作: > svn co svn://[email protected]/test-repo 但是这不是: > svn co svn+ssh://svn-user@<putty-session-name>/test-repo 'No repository found in 'svn+ssh://svn-user@<putty-session-name>/test-repo' 打了几个小时,我发现,如果我使用SSH隧道,我可以得到我的回购使用以下: > svn co svn+ssh://svn-user@<putty-session-name>/srv/svn/test-repo 这意味着我应该指定回购的完整物理path。 咦?
我使用基于密钥的身份validation的snv + ssh。 现在为了让我的任何svn用户通过Subversion访问版本库,我必须设置repo文件在文件系统上对这些用户是可读写的。 我想阻止用户通过sshlogin到服务器时删除repo数据库,但仍然能够签出和提交代码。 关于如何做到这一点的想法?
我们是一个Web开发组织,最近已经转向使用颠覆版本控制系统。 由于执行更新比导出和复制文件要快得多,开发人员希望能够将生产服务器作为工作副本。 我唯一担心的是整个系统中散布的所有.svn文件,以及一些企业的个人可能会读取其中的文件内容,可能给他们提供的信息,我们宁愿他们没有。 防止IIS从这些.svn目录中提供任何内容的最好/最简单的方法是什么?
对于Linux或Windows系统,你有什么技巧来优化你的Subversion服务器? 以下是我目前使用HTTPS通过Apache提供服务的Linux系统的技巧,以及使用LDAP身份validation的Active Directory支持的技巧。 在Apache上启用KeepAlive 禁用SVNPathAuthz 增加LDAPcaching 使用FSFS存储方法而不是BDB 随意将此称为问题。 我没有硬性的证据certificateFSFS只能执行BDB,只有很多部落的知识和传闻。
我想从我的存储库中删除所有版本化的文件,但保留版本化的目录结构。 显然,我想保留所有.svn目录不变。 换句话说,我想完全清空工作副本的目录结构,而不损害目录结构本身。 例如,从这个结构中删除文件: dir/ .svn/ [files] svsubdir1/ file1 .svn/ [files] subdir2/ file2 file3 file4 .svn/ [files] subsubdir1/ file5 .svn/ [files] 应该导致: dir/ .svn/ [files] svsubdir1/ .svn/ [files] subdir2/ .svn/ [files] subsubdir1/ .svn/ [files] 我正在寻找某种find命令或某种东西来完成这个任务,而且我在构build命令时遇到了麻烦。 谢谢您的帮助!
首先,我试图重新集成与树干分支(使用TortoiseSVN),但我收到错误消息“查询合并信息需要版本3的FSFS文件系统架构;文件系统E:/ MyRepository /只使用版本2”。 是否真的不可能在早期版本的Subversion中重新整合分支? 还是有另一种方法呢? 无论如何,如何将文件系统从版本2升级到版本3?