强制svn用户并使用私有子目录更新签出
我有一个Subversion树,它只有一些公共目录。最后一个目录仅对用户“我”可用 当我签出强制svn用户并使用私有子目录更新签出,svn,svn-checkout,Svn,Svn Checkout,我有一个Subversion树,它只有一些公共目录。最后一个目录仅对用户“我”可用 当我签出trunk时,我得到/public1和/public2,但不是/private1。我没有被要求提供我的凭据,因为Subversion认为它可以自动签出公共目录 如何强制Subversion将此目录签出为“我”,以便获得所有目录?我原以为这就像在命令行中添加--username一样简单,但这行不通 但是,如果我已经签出了这个目录结构,并且只有公共目录,该怎么办?我已经改用“我”了,因为我可以毫无问题地进行提
trunk
时,我得到/public1
和/public2
,但不是/private1
。我没有被要求提供我的凭据,因为Subversion认为它可以自动签出公共目录
--username
一样简单,但这行不通李>
/private1
目录。如何使用私有目录更新本地副本private2
,但仍然没有错误或警告,所以我想这并不意味着什么。)
以下是我在Apache上的Subversion授权文件的相关部分:
[groups]
developers=me
[foo:/trunk]
@developers=rw
*=r
[foo:/trunk/private1]
@developers=rw
*=
我可以通过WebDAV使用浏览器浏览到/trunk/private1
(在我为用户“我”输入正确的凭据之后)。请参见Subversion手册中的。特别是,请阅读页面上最后一个灰色框
基于此信息,服务器似乎可以在没有凭据的情况下签出根文件夹,然后以匿名方式执行整个签出。由于您只有一次身份验证的机会,因此当您访问私有目录时,您仍然是匿名的,因此无法获得它们的副本。如果需要像这样访问受保护的目录,请使用初始svn checkout
命令上的--username
选项。我不知道您是否可以签出
使用一组凭据将文件夹放入使用另一组凭据签出的工作副本的中间(这样做会使svn commit
混淆,因为每次提交只能有一个作者)
使用web浏览器浏览源代码完全是另一回事,因为服务器可以在每次加载新页面时请求验证
svn update private1
[groups]
developers=me
[foo:/trunk]
@developers=rw
*=r
[foo:/trunk/private1]
@developers=rw
*=