标签: svn

如何通过 WebSVN 限制存储库访问?

我有多个 Subversion 存储库,它们通过 Apache 2.2 和 WebDAV 提供。它们都位于一个中心位置,我以这篇debian-administration.org文章为基础(尽管我放弃了对简单 htpasswd 文件使用数据库身份验证)。

从那时起,我也开始使用WebSVN。我的问题是并非系统上的所有用户都应该能够访问不同的存储库,并且 WebSVN 的默认设置是允许任何可以进行身份​​验证的人。

根据 WebSVN 文档,解决这个问题的最好方法是使用 subversion 的路径访问系统,所以我希望使用 AuthzSVNAccessFile 指令来创建它。

但是,当我这样做时,我不断收到“403 Forbidden”消息。

我的文件如下所示:

我在文件中有默认策略设置:

<Location /svn/>
  DAV svn
  SVNParentPath  /var/lib/svn/repository

  Order deny,allow
  Deny from all
</Location>
Run Code Online (Sandbox Code Playgroud)

每个存储库都有一个如下所示的策略文件:

<Location /svn/sysadmin/>
    Include  /var/lib/svn/conf/default_auth.conf
    AuthName "Repository for sysadmin"
    require user joebloggs jimsmith mickmurphy
</Location>
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

我不完全确定为什么我需要 default_auth.conf 中的第二个 SVNParentPath,但我今天刚刚添加了它,因为我因为添加 AuthzSVNAccessFile 指令而收到错误消息。

使用完全许可的访问文件

[/]
joebloggs = rw
Run Code Online (Sandbox Code Playgroud)

系统运行良好(并且基本上没有变化),但是当我开始尝试添加任何类型的限制时,例如

[sysadmin:/]
joebloggs = …
Run Code Online (Sandbox Code Playgroud)

permissions svn apache-2.2

8
推荐指数
1
解决办法
2万
查看次数

忽略 IIS 下的 .svn 目录

我们是一个 Web 开发组织,最近开始在我们的版本控制系统中使用 subversion。由于执行更新比导出和复制文件快得多,因此开发人员希望能够让生产服务器成为工作副本。

我唯一担心的是整个系统中散布的所有 .svn 文件,以及一些企业个人可能会读取其中文件的内容,可能会向他们提供我们宁愿他们没有的信息.

防止 IIS 从这些 .svn 目录中提供任何内容的最佳/最简单的方法是什么?

iis svn

8
推荐指数
4
解决办法
2829
查看次数

重新创建 svn 存储库

在服务器发生重大故障后,svn 存储库被破坏,我的工作版本是最新版本,

从我的工作版本重新创建 svn 存储库的方法是什么?

在新服务器上安装 svn 并尝试我的工作副本后

 svn switch NEW_SVN_PATH .
Run Code Online (Sandbox Code Playgroud)

我得到一个错误

 Repository UUID '1c604742-6b16-462b-86e4-cc8bce959242' doesn't match expected UUID '6df69aeb-a72c-450d-8102-24036a3855f7'
Run Code Online (Sandbox Code Playgroud)

svn repository

8
推荐指数
1
解决办法
6959
查看次数

另一个 SVN 内的 SVN

我有一个在 SVN 中的简单项目,一切正常。我想在这个简单项目中的文件夹中使用来自另一个SVN 服务器的代码。

我怎样才能做到这一点?

我希望以后能够从这个“其他”SVN 服务器更新代码。

svn co http://svnserverone.com/projects/trunk/ mjproject
svn co http://anotherserver.com/whatever/trunk/ mjproject/path/module
Run Code Online (Sandbox Code Playgroud)

感谢您的时间和答案!

大东

svn

8
推荐指数
1
解决办法
1226
查看次数

用于远程 svn 管理的简单 Web 前端?

我们运行一个 SVN 存储库。我们的一些更高级的用户需要能够在不依赖系统管理员的情况下执行一些 SVN 管理。

他们需要能够执行诸如创建 SVN 存储库、删除 SVN 存储库以及执行诸如“svnadmin dump”和“svnadmin load”之类的命令。

我们希望避免在这些 FreeBSD 机器上使用 SSH 访问,而是希望通过 Web UI 提供服务接口。

我正在寻找一个使用 Perl 或 PHP 的简单脚本(或少量脚本)。我找到了svnadmin(来自 Jochen Hoenicke)或svnadmin.pl(来自 doug munsinger),但我希望找到具有更大用户社区或其他人推荐的东西。

看起来Trac允许 SVN 管理,但附带的功能可能比我们需要的更多。

freebsd svn apache-2.2

8
推荐指数
2
解决办法
2万
查看次数

释放我的 SVN 存储库中的空间

我在免费增值站点上托管了一个 SVN 存储库,其存储库大小最大。当我接近这个容量时,我知道我已经签入的文件我知道我可以永久删除以释放磁盘空间。我如何告诉 SVN 一个文件不仅可以被删除,而且它的历史也是如此?

maintenance cleanup svn repository

8
推荐指数
2
解决办法
1万
查看次数

Atlassian Crucible 在大型存储库上非常慢

我的公司几个月来一直在试用 Atlassian Crucible。对于正常工作的存储库,用户对该工具给出了非常积极的反馈。我遇到的问题是我们有几个不同的项目,每个项目都有自己的存储库,其中一些存储库非常大。特别是一个存储库具有大量分支,每个分支可能有大约 9,000 个文件。在 Crucible 中浏览该存储库非常慢。

Crucible 在 CentOS 虚拟机上运行。VM 有 4GB 的 RAM,我将 Crucible 的最大值设置为 3GB,目前使用的是 2GB。我在 Atlassian 的支持票中提出了这个问题,他们提出了以下建议:

特别是因为您有一个相当大的 SVN 存储库,您可能会发现 Fisheye 将在磁盘上创建一个大型索引文件。为了帮助提高性能,您可以尝试以下几点:

我在一定程度上尝试了所有这些方法,但到目前为止没有一个有很大帮助。我最初使用内置的 HSQL DB 在具有 2GB RAM 的 Windows 机器上运行 Crucible。在 CentOS 上迁移到 MySQL 看到了一些存储库的性能提升,并使 Crucible 更加稳定,但似乎对我们最大的存储库没有太大帮助。只有这么多文件/分支我可以从索引中排除,同时保持工具的实用性。

既然如此,有没有人有任何关于如何在大型存储库上加速 Crucible 的提示,而无需投资疯狂强大的硬件?

谢谢!

编辑:澄清一下,因为我没有在上面明确提到它,所以使用的是 FishEye。

编辑 2:自从我最初发布这篇文章以来,新的 Crucible 版本的性能有所提高,但无论如何它仍然不是很好。似乎这个问题影响了许多用户,包括一些硬件比我们使用的要强大得多的用户。因此,我不认为这是硬件问题,而是 Crucible 固有的低效率问题。Atlassian 已经意识到这个问题,并将在未来的版本中包括进一步的性能改进,所以希望这些变化能解决我们的问题。

编辑 3:我忘记了多久之前我问过这个问题,所以在我之前的编辑中我忽略了我们的硬件情况自最初被问到后也发生了变化。我们现在在一个专用的物理服务器上运行 Crucible,仍然使用 CentOS。硬件仍然适中(带有外部备份的 RAID 1 中的 4GB RAM、四核 CPU 和双 500GB 磁盘),但是当我们远离 …

svn fisheye crucible

8
推荐指数
1
解决办法
7921
查看次数

托管多个存储库(svn、hg、git)

我最近购买了一台专用服务器,并且需要将多个存储库从源代码管理托管服务移动到它。在服务器管理方面没有太多经验,但是我不知道如何有效地组织它。我所寻求的——

  1. svn.host.com、hg.host.com、git.host.com 子域,这些子域将通过 SSH 密钥成为不同存储库的根
  2. 轻松创建新存储库
  3. 使用服务器UNIX用户列表验证,但有每个项目的基础上的权限,也可选只读公众访问一些回购的

不幸的是,我在 Google 上尝试的任何搜索词都会将我引导到商业托管解决方案,而不是指导我如何汇总自己的解决方案。我需要类似精简的托管解决方案,但不需要让用户能够创建自己的存储库。

关于从哪里开始研究的任何建议、教程或脚本解决方案?用于处理该问题的管理界​​面的开源解决方案(或至少对某些人来说是完美的...

hosting svn mercurial git

8
推荐指数
2
解决办法
1272
查看次数

如何将 LDAP 用户添加到 Subversion Edge 的 Web 控制台中的角色?

我的 LDAP 用户没有显示在 Subversion Edge 的 Web 控制台中。如果他们没有出现,我该如何将他们添加到现有角色中?

svn collabnet subversion-edge

8
推荐指数
1
解决办法
1万
查看次数

CentOS 中的旧软件包版本是否意味着它们没有安全修复?

我们要求管理员更新 CentOS 6.5 服务器上的 SVN。他这样做了,结果是 SVN 1.6.11。然而,SVN 的当前版本是 1.8.9。

我知道 CentOS yum 储存库并不总是最新的。但在那种情况下,我感到困惑:不再正式支持 SVN 1.6.x。这意味着它没有得到任何安全修复!

CentOS 官方仓库怎么能提供这么旧(而且危险)的版本?我们(或我们的管理员)是否理解错误?

svn centos yum

8
推荐指数
1
解决办法
693
查看次数