Questions tagged «svn»

缩写SVN代表Subversion,这是一种非常常见且流行的版本控制系统。

2
svn:E170000:httpxxxx的无法识别的URL方案
自定义构建的svn似乎不适用于http URL。在线搜索后,我了解到我需要安装霓虹灯库。在安装霓虹灯后,当我构建Subversion时,它在make上失败。我试过干净再做,仍然有问题。除了已安装的Subversion版本仍位于/ usr / local / subversion之外,没有任何更改。知道如何前进吗? 操作系统:RedHat 5 版 [root@mercury lib]# svn --version svn, version 1.8.0 (r1490375) compiled Jul 10 2013, 20:07:32 on x86_64-unknown-linux-gnu Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is …
12 svn 

3
如何将一组现有的Subversion存储库切换为使用ActiveDirectory?(svnserve /视窗)
我在Windows Server 2003盒子上有一组私有Subversion存储库,开发人员可以通过svn://协议通过SVNServe访问。目前,我们一直在使用每个存储库的authz和passwd文件来控制访问,但是随着存储库和开发人员的数量不断增加,我正在考虑使用ActiveDirectory中的凭据。我们在一家全Microsoft商店中运行,并且在所有Web服务器上使用IIS而不是Apache,因此,如果可能的话,我希望继续使用SVNServe。 除了可能之外,我还担心如何迁移我们的存储库,以便现有用户的历史记录映射到正确的ActiveDirectory帐户。还请记住,我不是网络管理员,并且对ActiveDirectory并不陌生,因此如有必要,我可能必须经过其他人员才能在ActiveDirectory中进行更改。 我有什么选择? 更新1:从SVN文档中可以看出,通过使用SASL,我应该能够使SVNServe使用ActiveDirectory进行身份验证。澄清一下,我正在寻找的答案是如何配置SVNServe(如果可能)以使用ActiveDirectory进行身份验证,然后如何修改现有存储库以将现有svn用户重新映射到其ActiveDirectory域登录帐户。 更新2:似乎SVNServe中的SASL支持基于插件模型起作用,并且该文档仅作为示例显示。从Cyrus SASL库看,它似乎支持多种身份验证“机制”,但是我不确定用于ActiveDirectory支持的是哪一种,也无法找到有关此类问题的任何文档。 更新3:好了,好了,它看起来像,以便与ActiveDirectory中我沟通在找使用saslauthd而不是sasldb的为auxprop_plugin财产。不幸的是,根据某些帖子(可能是过时和不准确的),saslauthd似乎无法在Windows上构建,并且这种努力被视为正在进行中。 更新4:我在此主题上找到的最新文章听起来似乎可以通过MIT Kerberos库获得适当的二进制文件(),但这听起来像是这篇文章的作者在Nabble.com上仍存在问题,无法正常工作。 更新5:从TortoiseSVN讨论以及svn.haxx.se上的帖子看来即使sas​​lgssapi.dll或任何必需的二进制文件在Windows服务器上可用并已配置,客户端也将需要相同的自定义才能使用这些存储库。如果是这样,则只有在对这些客户端进行了更改(例如TortoiseSVN和客户端二进制文件的CollabNet构建以支持此类身份验证方案)的情况下,我们才能从Windows客户端获得ActiveDirectory支持。尽管这是这些帖子的建议,但这与我最初从其他阅读中得出的假设是矛盾的,因为与SASL兼容应该不需要在客户端上进行任何更改,而只需设置服务器以处理身份验证机制即可。在仔细阅读Subversion中有关Cyrus SASL的文档后第5节指出:“只要支持的至少一种机制也受客户端支持,具有Cyrus SASL支持的1.5+客户端将能够针对启用了SASL的1.5+服务器进行身份验证。” 因此,显然必须在客户端和服务器内提供GSSAPI支持(我知道Active Directory必需)。 我不得不说,我对Subversion如何处理身份验证的内部知识的了解比我想了解的要多。不幸的是,我只是在寻找有关在Windows服务器上使用SVNServe并从Windows客户端访问它时是否可以使用Active Directory身份验证支持的答案。根据官方文档,这似乎是有可能的,但是您可以看到,即使有可能,配置也不是一件容易的事。 更新:6:由于Subversion 1.7的开发工作即将结束,因此有人可以在使SVNServe使用Active Directory进行身份验证的情况下添加有关Subversion 1.7是否会有所改善的信息吗?

2
改善我们的部署策略
我们有一个在公司开发的电子商务应用程序。它是我们开发和运行大约3年的合理标准的LAMP应用程序。我们在测试域上开发应用程序,在这里我们添加了新功能并修复了错误等。我们的错误跟踪和功能开发都在托管的Subversion解决方案(unfuddle.com)中进行管理。当报告了错误时,我们在测试域上进行了这些修复,然后在满意的情况下将更改提交到svn。我们遵循相同的步骤,但增加了新功能。 值得指出的是我们的系统和跨服务器的应用程序的一般体系结构。每次开发新功能时,我们都会使用我们的应用程序(始终由我们控制服务器)将此更新发布到所有站点。使用我们系统的每个站点基本上都使用完全相同的文件来获取95%的代码库。每个站点中都有几个文件夹,其中包含该站点定制的文件-css文件/图像等。除了每个站点之间的差异之外,每个站点之间的差异是由每个站点数据库中的各种配置设置定义的。 这涉及到实际的部署本身。当我们准备推出某种更新时,我们会在测试站点所在的服务器上运行命令。这将执行复制命令(cp -fru / testsite / / othersite /),并通过每个vhost强制根据修改后的日期更新文件。我们托管的每个其他服务器都有一个虚拟主机,我们将生产代码库同步到该虚拟主机,然后在该服务器上的所有站点上重复复制过程。在此过程中,我们将不想覆盖的文件移出,在复制完成后将它们移回。我们的发布脚本执行许多其他功能,例如应用SQL命令更改每个数据库,添加字段/新表等。 我们越来越担心我们的过程不够稳定,不能容错并且还有些蛮力。我们也意识到我们没有充分利用Subversion,因为我们有一种立场,即使用新功能会阻止我们推出重要的错误修复程序,因为我们没有使用分支或标签。我们在服务器之间进行了如此多的文件复制,这似乎也是错误的。我们也无法轻松地对刚刚推出的内容进行回滚。我们确实在每次推出之前都执行了diff操作,因此我们可以获得将要更改的文件的列表,因此我们知道之后所做的更改,但是回滚的过程仍然存在问题。在数据库方面,我已经开始研究dbdeploy作为潜在的解决方案。不过,我们真正想要的是有关如何改善文件管理和部署的一些常规指导。理想情况下,我们希望文件管理更紧密地链接到我们的存储库,以便将首次推出/回滚与svn连接起来。类似于使用export命令来确保站点文件与回购文件相同。但是,如果该解决方案也可以停止我们服务器周围的文件复制,那也很好。 忽略我们当前的方法,听到其他人如何解决相同的问题真的很好。 总结... 使多台服务器中的文件与svn保持同步的最佳方法是什么? 我们应该如何防止文件复制?符号链接/其他? 我们应该如何构造我们的仓库,以便我们可以开发新功能并修复旧功能? 我们应该如何触发部署/回滚? 提前致谢 编辑: 最近,我读到了很多关于将Phing和Capistrano用于此类任务的好东西。任何人都可以提供有关它们的更多信息以及它们在这种任务中的表现如何?


8
每小时,每天,每周使用crontab和/ etc / cron之间的区别
我有一个计划的脚本,该脚本每小时对我们的Subversion存储库进行svnsync备份。我从crontab根目录中的某个条目运行它没有问题,但是我决定从/etc/cron.hour来运行它,以获取更多的可见性(并且因为我们的一位工程师不小心删除了crontab,因为他认为“ crontab -r”的意思是“阅读crontab ;-)) cron.hourly脚本中的svnsync命令全部失败,并显示一条消息,指出需要接受SVN存储库的SSL证书(这是您在用户首次访问SVN存储库时以交互方式获得的消息,但是一旦我接受消息不会再出现)。 因此在我看来,从cron.hourly运行时与通过根crontab运行时,脚本是在不同的用户环境下执行的。谁能解释其中的区别? 更新:我应该提到我的发行版,我在CentOS 5.1上使用anacron。 更新2:感谢到目前为止的建议;我认为这更多地是一个Subversion问题。我总是尝试将环境封装到脚本中,但是这里的问题是我不确定在从以下位置运行脚本时,SVN要求接受SSL证书的环境中(或缺少该环境)的原因每小时一次。我猜想这与运行部件脚本的执行方式有关。
12 linux  centos  svn  cron 

6
TortoiseSVN更新中缺少文件
我们偶尔会遇到TortoiseSVN的问题(我假设它是Tortoise而不是我们的SVN信息库),在那里文件将被检入信息库(做一个repo-browser,您可以在其中看到文件),并且该人将存在谁提交了这些文件,但是当其他人进行更新时,这些文件将不会添加到工作副本中。如果然后从仓库浏览器中选择“复制到工作副本...”,并尝试进行提交,则文件对我来说将被视为新文件,并且我的客户端尝试添加它们,从而出现错误。更新还会导致一些错误(我不知道如何重现此错误,所以我不知道是什么原因导致的,并且我不记得确切的错误)。然后,我必须从存储库中删除文件,然后将文件提交为新文件。在这之后, 通过svn://协议,可以将存储库访问运行1.4.6版的服务器。它托管在作为Windows服务运行的Windows Server 2003计算机上。 存储库的布局如下: [存储库] /代码/ [项目] [存储库] /代码/ [网站] / *此处的某些页面* [存储库] /数据/ [其他数据文件] [存储库] /参考/ [dll /参考] 这几乎完全发生在.aspx / .aspx.cs / .aspx.designer.cs中,通常一次全部出现3个。好像整个“页面”都不会添加到我的文件夹中。这是在Visual Studio打开并运行解决方案的情况下发生的,并且也没有打开Visual Studio。 有人看过吗,您知道原因/解决方案吗?
12 svn  tortoisesvn 

2
是否将文件夹添加到SVN存储库而不检出或提交?
当使用TortoiseSVN之类的东西时,您可以使用它的repo浏览器浏览存储库并执行操作。您可以做的一件事是在存储库中创建目录。通常,您必须签出存储库,然后创建并添加目录,最后提交它们以完成此操作。但是您可以通过一个命令在存储库浏览器中完成此操作。 是否可以从命令行执行类似的操作?
12 svn  tortoisesvn 

2
apache auth:LDAP和htpasswd的组合
我们将Apache与mod_svn一起使用以服务于Subversion仓库。Apache已挂接到LDAP服务器,因此所有用户都可以使用其域密码。为了使构建机器能够签出,我想拥有一个额外的用户,但是我无法通过LDAP添加。 是否可以创建用户/密码必须与LDAP服务器或htpasswd文件匹配的设置?

3
git vs Subversion-利弊[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我已经使用SVN多年了,我不能说对此感到完全满意。几天前,我的搭档让我看一下git,说“它具有更好的性能,更易于合并和分支”。 我一直在阅读git vs. SVN的比较文章,如果人们可以同时使用这两种版本控制系统总结优缺点,我将非常高兴。 现在,我正在研究从一种系统切换到另一种系统并听到主观意见的人们。 我自己知道我非常喜欢SVN的工作方式,拥有一个供人们签出的中央存储库,并且知道我可以从中部署实时开发副本和实时生产副本,但是有时我们很难解决冲突或其他错误,每次我们需要比较或查看文件的历史记录时,我们都需要处理网络延迟。 另一方面,拥有分布式平台也听起来让人头疼,您如何控制访问?您是否有一个中央存储库可在其中进行推送和更新? 感谢您提供更多有关此问题的信息。
11 svn  repository  git 

5
SVN客户端身份验证错误
每当我尝试连接到网络上的SVN服务器时,都会出现以下错误: 无法验证服务器:拒绝基本挑战 有人可以帮忙吗?
11 svn 

1
阻止Microsoft Office 2010与Subversion服务器集成,就像它是Sharepoint
我们有一个Apache Subversion服务器,我们将存储(除其他事项外)所有文档。svn中有很多Word,Excel,PDF等文档,并且我们所有的用户都使用TortoiseSVN作为其客户端界面。这些用户中的许多人还将通过Web浏览器浏览该存储库(不幸的是,该浏览器通常是Internet Explorer)。 最近,我们开始试用Office 2010(从2003年开始),发现使用IE浏览时,来自回购协议的文档的打开方式有所不同。而不是IE下载文件,然后将其发送到适当的应用程序(之后它应该只是本地存储的临时副本),而是将文档的URL发送到应用程序。该应用程序下载了该文档,然后将其视为来自Sharepoint服务器,即该应用程序尝试将其锁定,然后将所有保存的更改自动上传回服务器。 从Googling看来,许多人都想要这种行为。但是,我们要禁用它-它不适合我们现有的流程。我该怎么做呢? 我对客户端计算机没有太多控制权,因此,我所寻找的解决方案不是为每个客户端禁用像这样的所有Office文档协作功能。此外,除了禁用IE中的Office Document Cache Handler加载项外,我无能为力。唯一可行的客户端选项是那些专门为我们的命名服务器禁用此功能而将其保留给其他服务器的选项。 这样就剩下服务器端解决方案了。我猜测Office认为svn服务器具有WebDAV支持,因此进入了类似Sharepoint的文档管理工作流程。是否有任何方法可以在不禁用服务器上所有WebDAV支持的情况下停止这种集成(假设我们甚至可以这样做)?实际上,我们实际上将svn的autoversioning用于其他目的,因此这是必需的功能。我发现了有关禁用功能的讨论,如果该功能实际上是Sharepoint服务器,则不是!我对这种工作方式的理解(即Office客户端标识服务器上的WebDAV支持)非常有限,因此,请尽您所能。 如果很重要,则服务器设置为: Ubuntu Hardy 8.04上的Apache v2.2.8和Subversion v1.4.6。


7
在哪里维护中央源代码库?
关于确保对源代码的访问的最佳行业做法是什么?我在考虑通过apache进行的仅SSL连接允许在不影响其他端口的晦涩端口上转移到我们的服务器。困扰我的是将源代码存储在面向公众的服务器上,即不仅可以通过LAN访问。而且,该服务器有多种用途。Apache已经为其他公司内部网站提供服务。我希望每个人都可以从任何地方(房屋,机场等)访问源代码,只要他们具有正确的凭据即可。有什么建议吗?

4
svn和svn + ssh的Subversion路径差异
[02:48] [root @ server:〜] ps斧| grep svn 23986吗?Ss 0:00 / usr / bin / svnserve -d -r / srv / svn从参数中可以看到,我的svn根目录是/ srv / svn。 现在,来自远程机器的一些魔力... 这有效: > svn co svn://svn-user@domain.com/test-repo 但这不是: > svn co svn+ssh://svn-user@<putty-session-name>/test-repo 'No repository found in 'svn+ssh://svn-user@<putty-session-name>/test-repo' 玩耍的几个小时,我发现appearantly如果我使用ssh隧道,我能够得到使用以下我的回购: > svn co svn+ssh://svn-user@<putty-session-name>/srv/svn/test-repo ...这意味着我应该指定回购的完整物理路径。??
10 ssh  svn  svnserve 

7
进行Subversion备份的最佳方法?
进行Subversion备份的最佳方法是什么(在基于Debian的服务器上)。 使用svnadmin吗? svnadmin dump /path/to/reponame > reponame.dump 还是只是要压缩存储库所在的目录? tar -cvzf svn.backup.tar.gz /var/subversion/ 上面的优点和缺点是什么? 谢谢约翰 更新:这是一台只有少量存储库的小型服务器。因此,可能不需要增量备份,我认为最好集中精力使其简单。 更新:我使用packs包装器脚本(反过来是svn-hot-backup的包装器)进行完整备份,然后在另一台干净的计算机上进行了完全恢复。但是,我删除了“ SVN_HOTBACKUP_NUM_BACKUPS = 10”部分,因为它不适用于我。 请注意,我觉得这很简单,结果非常接近tar dir。但是正如曼尼在这里指出的那样,使用svn-hot-backup /“ svnadmin hotcopy”是一种更可靠的方法,因为如果您不走运,tar可能会不时创建损坏的备份。
10 backup  debian  svn 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.