这仅在大型提交时发生(导致提交失败):
来自 Apache 虚拟主机配置的 Revelant 部分
<LimitExcept 获取 PROPFIND 选项报告>
需要有效用户
</限制除外>
大卫·斯文
SVNPath /home/svn/
提交结果:
传输文件数据.......................svn:提交失败 (详情如下): svn:PUT '/!svn/wrk/48583f7d-0e01-410d-8941-33d2ba3574b4/WAP/.../htdocs/images/rt.gif': SSL 协商失败:SSL 错误:解析 tlsext (https://...)
我在这里找到了对它的引用:http : //code.google.com/p/support/issues/detail?id=1395
声明 OpenSSL 应该使用 TLS 扩展进行编译,但在我的情况下,它在开始时不会出错,只是在大量提交时出错。
有任何想法吗?谢谢
您对相对完整的 SVN 签入通知系统有什么建议吗?
我正在寻找允许更改存储库文件摘要和实际差异的内容在提交发生时通过电子邮件发送给开发团队的所有成员的东西,也许带有指向 ViewVC 或其他地方的完整受影响源文件的链接. 那是可选的。
我绝对希望将实际的差异/代码摘录整齐地划分开来。没有人会看这些东西(好像他们无论如何都会看:-),如果它只是从一开始就堆满了难以理解的代码片段的大而鲁莽的转储。原则上,我只想查看修订号、摘要、提交的用户以及受影响的存储库文件列表。
我花了一点时间研究编写自己的代码的可行性,虽然我看到 SVN 有“钩子”可以精确地以这种方式捕获各种事件,但得到一些运行良好的东西似乎是一项相当复杂的任务。相当肯定存在这种效果的开源软件包,我想知道你们中是否有人能帮我省去弄清楚哪些是好的哪些是坏的麻烦。我正在寻找一些相当容易设置并且不需要很多时间的东西;我很想花时间学习一个非常全面的系统的来龙去脉,但我也必须实际进行开发。
非常感谢大家提前!
编辑:我知道 Sourceforge 在这方面做得很好。我在几个 -dev 列表中,我经常收到这些消息。但我不能真正将 Sourceforge 用于我正在从事的各种项目。
进行 Subversion 备份的最佳方法是什么(在基于 Debian 的服务器上)。
是使用svnadmin吗?
svnadmin dump /path/to/reponame > reponame.dump
Run Code Online (Sandbox Code Playgroud)
或者也许只是为了 tar 存储库所在的目录?
tar -cvzf svn.backup.tar.gz /var/subversion/
Run Code Online (Sandbox Code Playgroud)
以上各有什么优缺点?
谢谢约翰
更新:这是一个只有少量存储库的小型服务器。所以增量备份可能不需要,我认为最好专注于保持简单。
更新:我使用 packs 包装器脚本(它又是 svn-hot-backup 的包装器)进行完整备份,然后在另一台干净的计算机上进行完整恢复。但是我删除了“SVN_HOTBACKUP_NUM_BACKUPS=10”部分,因为它对我不起作用。
请注意,我觉得这有点简单,结果非常接近 tar 目录。但正如 Manni 在这里指出的那样,使用 svn-hot-backup/"svnadmin hotcopy" 是一种更可靠的方法,因为如果您不走运,tar 可能会不时创建损坏的备份。
我将 snv+ssh 与基于密钥的身份验证一起使用。现在,为了让我的任何 svn 用户通过 Subversion 访问存储库,我必须将存储库文件设置为在文件系统上对这些用户可读和可写。
我想阻止用户在通过 ssh 登录到服务器时删除 repo 数据库,但仍然能够签出和提交代码。
关于我如何做到这一点的想法?
对于 Linux 或 Windows 系统,你有什么技巧来优化你的 Subversion 服务器?
以下是我目前使用 HTTPS 服务于 Apache 并由使用 LDAP 身份验证的 Active Directory 支持的 Linux 系统的技巧。
创建主干、分支和标签目录的最佳时间是什么时候?
我已经执行svnadmin create --fs-type fsfs /home/firefli/web/projects/subversion并拥有自己的空白回购。如果我创建,比如说,trunk使用svn mkdir file:///home/firefli/web/projects/subversion/trunk它的目录工作正常,但我转到修订版 1。
并不是说修订 1 是一个问题,我只是确定我以前做过不同的事情并且我正在寻找最佳实践。
谢谢
我想从我的存储库中删除所有版本化文件,但保留版本化目录结构。显然我想保留所有 .svn 目录不变。
换句话说,我想在不损害目录结构本身的情况下完全清空工作副本的目录结构。
例如,从此结构中删除文件:
dir/
.svn/
[files]
svsubdir1/
file1
.svn/
[files]
subdir2/
file2
file3
file4
.svn/
[files]
subsubdir1/
file5
.svn/
[files]
Run Code Online (Sandbox Code Playgroud)
应该导致:
dir/
.svn/
[files]
svsubdir1/
.svn/
[files]
subdir2/
.svn/
[files]
subsubdir1/
.svn/
[files]
Run Code Online (Sandbox Code Playgroud)
我正在寻找某种find命令或其他东西来完成此任务,但在构建命令时遇到了麻烦。谢谢您的帮助!
所以,我创建了一个像这样的存储库: svnadmin create /path/to/repository
删除的等价物是什么?我找不到。
首先,我试图将分支与主干重新集成(使用 TortoiseSVN),但我收到错误消息“查询合并信息需要 FSFS 文件系统架构的第 3 版;文件系统 E:/MyRepository/ 仅使用第 2 版”。
难道真的不可能在早期版本的 subversion 中重新集成分支吗?或者有另一种方法吗?
无论如何,如何将文件系统从版本 2 升级到版本 3?
给定使用 SVNParentPath 的典型 Subversion/Apache 配置,存储库托管/svn/如下:
<Location /svn>
DAV svn
SVNParentPath /srv/source/svn/repos
SVNReposName "Subversion Repository"
AuthzSVNAccessFile /srv/source/svn/authz
Satisfy Any
AuthType Basic
AuthBasicProvider file
AuthName "Subversion Repository"
AuthUserFile /srv/source/svn/htpasswd
Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
有没有办法覆盖特定存储库的此配置,而不必将它们托管在不同的路径上?也就是说,有什么办法可以添加这样的Location块...
<Location /svn/my_special_repo>
SVNPath /srv/source/svn/repos/my_special_repo
AuthzSVNAccessFile /srv/source/svn/repos/my_special_repo/conf/authz
</Location>
Run Code Online (Sandbox Code Playgroud)
...并让它覆盖Location块中提供的配置
/svn?我尝试使用上述配置执行此操作时,在 Apache 错误日志中遇到了奇怪且无用的错误,例如:
[Wed Feb 02 11:28:35 2011] [error] [client 10.10.209.120]
(20014)Internal error: Can't open file '/srv/source/svn/repos/svn/format':
No such file or directory
Run Code Online (Sandbox Code Playgroud)
所有这些似乎都是 mod_dav_svn 告诉我我不能做我想做的事情的方式。我愿意接受解决方案或替代方案!
编辑:嗯,我可以看到这个问题在读者中引起了很多兴奋。为了记录,我最终可能要做的是为我们所有现有的存储库生成每个存储库的配置,然后放弃SVNParentPath基于配置的配置。per-repo Apache 配置是最小的,尤其是使用类似 …