Articles of svn

如何解决这个错误在Subversion安装?

我试着按照这个教程,但我得到这个错误: C:\>net start svnserver System error 2 has occurred. The system cannot find the file specified.

在SVN智能自动完成(和其他程序!)

当我input“svn add path / to / somefile …”并且选项卡自动完成时,系统应该只完成当前不在 SVN控制下的文件/目录。 同样,当我提交,删除或parsing文件,选项卡完成应该只完成相关的文件,我正在做什么(即,修改,目前在SVN或冲突)。 这在SVN中非常重要,您input的每个文件名都可以从智能自动完成中获益,但它适用于其他程序。 我知道bash有一个bash_completion文件,可以用来以编程方式改变这种行为,但我还没有find一个体面的SVN完成实例,它实际上完成文件名而不是SVN命令名称。 我的问题是:有没有人有这样的设置? 有没有人使用不同的shell或工具来做类似的事情? 有没有人给过这个想法?

Subversion挂钩不再运行

我不知道这是什么时候发生的,但是由于某种原因,我的Subversion钩子都没有运行了。 我在一台Gentoo Linux机器上运行Subversion 1.6.9,过去它的钩子工作。 我通过Apache2.2的svn_dav模块运行Subversion。 我修改了我使用的钩子脚本,当它们被执行时写入/ apache所拥有的/ tmp目录中的一个文件中,但是在提交之后,文件中没有任何东西应该被写入。 脚本是可执行的,由apache拥有:apache,所以我不认为这是问题。 这是我的testing脚本之一(post-commit.sh)没有得到执行: #!/bin/sh /bin/echo post-commit >> /tmp/z_test exit 0 运行一个提交后,我预计会运行precommit.sh和post-commit.sh钩子,但是它们都没有写入所需的文件(/ tmp / z_test)。 这是怎么回事?

在Ubuntu 10.04上通过HTTPS提供SVN的问题

升级到Ubuntu 10.04后,我们在Subversion服务器上遇到了一些问题。 当试图访问一个存储库,不pipe客户端(我已经尝试了Windows上的git-svn和svn以及Ubuntu 10.04上的svn,从不同的计算机和networking位置),我得到了一个400错误的请求。 这是svn的输出: svn: Server sent unexpected return value (400 Bad Request) in response to OPTIONS request for 'https://svn.example.org/svn/programs' 以下是Apache日志(我正在运行Apache 2.2)的相关条目: error.log中 [Mon Jun 14 11:29:31 2010] [error] [client xxxx] request failed: error reading the headers ssl_access.log xxxx – – [14/Jun/2010:11:29:28 +0200] "OPTIONS /svn/programs HTTP/1.1" 401 2643 "-" "SVN/1.6.6 (r40053) neon/0.29.0" xxxx – […]

第三方开发者的访问权限和安全性

我们的营销部门希望开始聘请外部公司协助开发和维护我们的营销网站。 目前这个网站是在FreeBSD上(使用apache),但是在接下来的几个月内会把所有东西都迁移到CentOS。 现在我们有一个内置的Subversion服务器,它包含所有的代码,开发人员检查代码,然后将代码推送到外部登台服务器,以确保一切正常,然后推送到我们的实时服务器。 就像我刚才提到的那样,他们会雇佣一个外包公司与他们一起工作。 我的任务是能够使用代码,但同时使它们远离networking。 以下是我的一些想法: 让他们通过我们的SonicWall(我们的主要网关)访问VPN,只允许他们通过443端口访问Subversion服务器,并阻止其他任何事情(我甚至不确定Sonicwall是否会这样做,还是只允许我授予在子网级别的访问权限。) 在DMZ中设置一个Subversion服务器,并且只允许来自其公司IP地址的入站stream量。 这将有效地阻止访问我们的networking,但仍然允许内外的人访问颠覆。 给他们在登台服务器上的帐户,让他们从那里工作(最懒,最不喜欢的解决scheme…) 选项2是我倾向于最多的选项。 有没有人有这些解决scheme的任何意见,或有一个完全不同的解决scheme,会更好地工作? 我们的最终目标是让他们在不影响我们networking的前提下编写代码。

如何在服务器上cachingSubversion密码,而不以未encryption的forms存储?

我的Subversion服务器只能通过HTTPS访问; 对svn + ssh的支持已经被删除了,因为我们希望避免在SVN上创build系统用户。 现在我试图为用户提供一种caching密码一段时间的方式,而不会以未encryption的forms将其保存在文件系统中。 这对Gnome或KDE用户来说不成问题,因为他们可以分别使用gnome-keyring和kwallet。 IIRC,TortoiseSVN也有类似的caching机制。 但是在非GUI系统上的用户呢? 一些上下文:在这种情况下,我们有一个开发/testing服务器,其中一个项目已签出到Apache htdocs目录中。 这个项目的开发几乎已经完成,只有很小的文本/布局变化直接在这个服务器上执行。 不过,应该将这些更改检入到存储库中。 在这个系统上没有kwallet,也没有gnome-keyring,而ssh-agent也不能帮忙,因为这个版本库是通过https而不是svn + ssh访问的。 据我所知,每次与SVN服务器通话时,都会input密码,或以不安全的方式存储密码。 有没有什么办法可以得到像gnome-keyring和kwallet在非GUI环境中提供的东西?

VisualSVN如何存储密码?

我们正在运行一个VisualSVN服务器,需要创build约300个用户。 由于大规模创build用户的需求很可能会再次发生,因此我不希望使用数据录入任何人来创build帐户。 我find了以下forms的htpasswd: test:$apr1$5tf$V0ImysKrNpxE6XW5QwyLd0 我已经编辑了过去使用MD5hex的其他应用程序/服务器的密码文件,这显然不是。 这是什么algorithm?

是否允许自动颠覆检查一个坏主意?

我是一个支持开发团队的系统pipe理员,我们的Subversion版本库受到与单一注册解决scheme绑定的HTTP基本身份validation的保护。 我们还与其他一些团队和潜艇分享我们的基础设施。 开发人员需要一个帐户,通过将帐户密码存储在脚本中或使用SSH进行无密码login,他们可以使用该帐户自动写入SVN(例如,自动检入一些生成的脚本,或者自动发布整个版本到目录)。 我的一个同事认为这是一个非常糟糕的主意,我倾向于同意,似乎有非常高的安全风险,无论是恶意的意图还是只是一个脚本写得不好,存储库。 然而,越来越多的人和其他团队和小组不断地询问,当我试图做一些我自己的研究时,我一直没有find任何支持材料来帮助我说服他们,这让我怀疑我这是错的,并不像我想的那样糟糕。 这些自动化脚本对我们的存储库造成的潜在安全威胁是否正确? 有什么替代品或保护措施,我错过了? 如果不是的话,任何人都可以指出我的任何支持材料的方向,可以帮助我解决问题吗? [编辑]我忘了提及我们也使用jenkins持续集成: http : //en.wikipedia.org/wiki/Jenkins_%28software%29

在Windows上自动部署SVN?

我们在Windows上运行VisualSVN服务器。 总之,有什么技术可以在提交后自动将更改的文件部署到临时服务器? 我知道有一些像SVN的钩子 ,虽然有很多有用的钩子脚本或可执行文件挂钩在那里,我还没有find一个能够将提交后的文件复制到某个目录。 所以我的问题是:我可以使用什么策略来自动将我的存储库部署到临时服务器,尤其是对于包含数千个文件的大型网站,因此在多台临时服务器上更新存储库相当缓慢。 谢谢!

版本控制和备份,哪个组合?

我是唯一的开发者,我有3台电脑。 另外我的一个朋友有一个帐户,但从来没有使用它。 我目前的设置是GIT +我自己的临时备份工作,克隆存储库,压缩,gnupg它,并将其发送到远程ftp。 目前为止,我的源代码/ docbook / xml文件+更小的二进制文件(主要是图标+用于docbook的一些图像)工作得非常好。 不过,我最近参与了一个Flash游戏项目,并为此创build了一个存储库,但是Flash FLA文件非常庞大(我见过+70 MB)。 和git重新包装一个低窗口大小不能再完成。 进一步我发现我的一些文件使用回车而不是换行,GIT不喜欢区分这些文件。 当我创build存储库时,我应该将它设置为在提交时自动将CR转换为LF。 但是我并不知道这些问题。 出于绝望,我尝试了Mercurial,但它的最大文件大小是10 MB。 我想也许把我的项目分成二进制文件,并保持在颠覆,因为它似乎与二进制文件确定。 和GIT的源代码。 但这将是一项艰巨的任务,听起来像是一个坏计划。 你使用什么版本控制系统? 你如何备份? 你怎么处理你的二进制文件?