Articles of svn

使用WebSVN作为默认的HTML视图

当使用普通的浏览器打开像https://server.local/svn/reproname这样的Subversion URL时,我得到一个(不是很好但很有用)的网页,显示了版本库最高版本的文件。 是否有可能改变这个HTML视图来使用WebSVN呢? 所以我想为TortoiseSVN使用相同的URL,然后使用WebDAV浏览存储库,并使用浏览器获取WebSVN的漂亮界面。 我正在使用mod_dav_svn在Win 2003 Server上使用Apache 2.2。 在此先感谢您的帮助。 sc911

如何在没有本地副本的情况下远程备份svn

我有一个在磁盘上运行短的颠覆服务器。 我想归档一个较大的版本库来释放一些空间,所以我需要在远程服务器上对版本库文件进行完整备份。 不幸的是,回购是相当大的,这限制了几个简单的select: 我不能使用svn dump或svn hotcopy,因为没有足够的本地存储可用于存储库的完整副本。 我可以使用rsync,但svn服务器正在使用旧的berkeley db,看来这可能会创build一个损坏的备份。 回购没有被积极使用,但有可能有人我仍然在rsync运行时改变它。 在这种情况下停止SVN服务不是一个好的select,因为服务器被大量使用。 过去我使用过一个名为rsvndump的实用程序,我的经验是,虽然这对于这种情况来说是理想的,但它往往会在大型存储库中过早并一致地死亡,从而导致无法使用的存档。 svnsync似乎是合理的,但是在远程服务器上需要额外的configuration步骤,而且看起来存档与实际的数据转储相比有些脆弱。 对于本质上是一次性的任务似乎也是过分的。 我正在寻找是否有办法通过rsync或sshpipe道运行svndump或hotcopy来在远程主机上创build“本地”存档。 一旦磁盘空间问题得到解决,备份必须是有效的,因为我需要它来进行恢复。

颠覆后提交钩子:打印用户可以看到的错误消息?

我有一个用Subversion 1.6.x创build的Subversion版本库。 这个仓库有一个post-commit钩子,每次用户检入文件时都会执行一个动作。 有时这个提交后的钩子失败,并且任何错误消息都被简单地发送到以太网中。 我可以创build一个post-commit钩子为用户输出一个错误信息,以便用户知道post-commit钩子失败了吗?

Subversion的Apache模块是否可以使用html内容types提供html文件而不使用svn:mime-type属性?

我知道,如果您将.html文件中的svn:mime-type Subversion属性设置为text/html那么当通过Apache httpd中的Subversion模块在浏览器中查看文件时,它将与Content-Type: text/html标题,使浏览器呈现为HTML而不是纯文本。 但是,我正在寻找一种方法来执行此操作, 而不使用svn:mime-type属性。 我知道你可以configuration你的svn客户端自动添加属性 – 这不是我想要的,因为我不想确保所有的用户都有这些设置。 我也知道如果没有设置属性,我可以创build一个拒绝提交的预提交钩子,以强制用户设置属性 – 我可能会回到那个,但我正在寻找一些东西侵入。 我也知道,我可以使用post-commit挂钩在服务器端自动添加属性。 我宁愿不这样做(因为用户必须在提交后立即更新,而且这不是微不足道的) – 我正在寻找一个更好的select。 也许在Apache服务器中有重写规则的东西?

如何在版本控制登记之前强制执行木偶清单和模块语法检查?

我正在为我们的puppet模块和清单部署版本控制。 我想强制执行一个工作stream程,需要在检入更改之前进行puppet模块和清单代码检查。 这将是有用的,因为它将防止推动代码改变,例如语法错误或更致命的东西。 我最初的想法是部署一个完整的puppetmaster实例,其中可以完成清单和模块更改,并将其作为自身的一个节点。 然后可以用service puppetmaster restart && service puppet restart检查语法,并检查日志是否有错误。 我可以在清单和模块推送脚本中编写该工作stream程。 不过,我想这是一种更优雅的方式。

Submin密码重置,无需电子邮件发送

我已经安装了Submin。 手册上说,我应该在第一次login时恢复密码。 应该没问题,submin会通过e-amil发送我的新密码,但在服务器上禁止发送电子邮件。 我怎样才能得到一个新的密码没有电子邮件发送Submin?

Trac + SVN:为什么后提交钩不起作用?

我想为SVN使用标准的Trac post-commit-hook。 我正在使用Trac 0.11.4,并从他们的网站下载了这个钩子 。 我把它放到/usr/local/bin/和chmod +x 。 /var/svn/myrepo/hooks/的post-commit挂钩看起来就像Trac Guidebuild议的那样: #!/bin/sh REPOS="$1" REV="$2" TRAC_ENV="/var/trac/mytracenv" /usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV" Trac环境目录/var/trac/mytracenv对于Subversion用户是可写的。 我正在运行独立的svnserve ,没有Apache。 如果我手动运行/usr/bin/python /usr/local/bin/trac-post-commit-hook -p /var/trac/mytracenv -r <somerev>作为Subversion用户, 但是,如果我做了一个提交(使用TortoiseSVN)它说: Error post-commit hook failed (exit code 255) with no output. 有什么问题?

用Proftpd隐藏.svn目录

Proftpd可以隐藏目录吗? 特别是.svn目录。 有一个HideFiles而不是一个HideDirectories指令。 HideFiles的问题是它在完整path上不匹配。 <Directory /home/ftp_user/my_project > # Despite trying to hide this directory it still shows up # as /.svn in the ftp client. HideFiles "^\.svn" <Limit ALL> allowuser ftp_user </Limit> </Directory> 是否有另一种方法来隐藏目录?

Subversion – txn-protorevs的目的是什么

我有一个Subversion服务器,进入一个Subversion版本库,在db目录下有这个目录: txn-protorevs 其中包含以下文件给我 119M 1-4.rev 0 1-4.rev-lock 这个目录在SVN仓库中的目的是什么?

使用NGINX安装SVN服务器

我正在尝试安装SVN服务器,并使用它与我的NGINXnetworking服务器。 我已经试过了 在nginx / sites-enabled / svn中的服务器部分,我已经添加了这个 位置/ var / svn / repos { proxy_pass http://127.0.0.1:81; #include /etc/nginx/proxy.conf; 设置$ dest $ http_destination; 如果($ http_destination〜“^ https://(。+)”){ 设置$ dest http:// $ 1; } proxy_set_header目标$ dest; } 而且我在端口81上运行apache,并且已经在apache上运行了100%的虚拟主机。 现在每当我尝试svn结帐,我得到这个: $ svn co http://svn.mysite.com/myrepo svn:服务器发送意外的返回值(500内部服务器错误),以响应“http://svn.mysite.com/myrepo”的OPTIONS请求 并在错误日志中,我有这个 2012/04/18 07:43:36 [error] 9914#0:* 106重写或内部redirect周期内部redirect到“/index.html”,客户端:93.95.201.250,服务器:mysite.com,请求:“ GET / myrepo HTTP / 1.1“,主机:”svn.mysite.com“ 有谁知道如何在nginx上安装svn服务器? 任何想法是高度赞赏? […]