我有一个计划的脚本,每小时svnsync备份我们的Subversion版本库。 我从root crontab中的一个条目运行没有问题,但决定我想从/etc/cron.hourly运行它,而不是额外的可见性(因为我们的工程师之一意外删除了crontab,因为他认为“crontab -r“意思是”读取crontab ;-)) cron.hourly脚本中的svnsync命令都会失败,并显示SVN存储库的SSL证书需要被接受(这是您首次访问SVN存储库时交互式获得的消息,但一旦证书I接受的消息不会再来)。 所以在我看来,脚本是从cron.hourly运行时在不同的用户环境下执行,而不是通过根crontab运行。 任何人都可以解释这个区别 更新:我应该提到我的发行版,我在CentOS 5.1上使用anacron。 更新2:感谢您的build议, 我认为这正在变成一个颠覆性的问题。 我总是试图把我的环境封装到我的脚本中,但是这里的问题是,我不确定当我运行我的脚本时,SVN要求接受SSL证书的环境是什么(或缺less) cron.hourly。 我猜这是与运行部分脚本执行的方式有关。
这只发生在大提交(导致提交失败): Revelant部分从Apache的虚拟主机configuration <LimitExcept GET PROPFIND OPTIONS REPORT> 要求有效的用户 </ LimitExcept中> Dav svn SVNPath / home / svn / 提交结果: 传输文件数据………………………… svn:提交失败 (详情如下): svn:PUT的 '/!svn/wrk/48583f7d-0e01-410d-8941-33d2ba3574b4/WAP/…/htdocs/images/rt.gif': SSL协商失败:SSL错误:parsingtlsext(https:// …) 我在这里find了它的参考: http : //code.google.com/p/support/issues/detail?id = 1395 指出OpenSSL应该用TLS扩展编译,但在我的情况下,它不会在开始时出错,只是在大的提交。 有任何想法吗? 谢谢
当使用TortoiseSVN之类的东西时,可以使用它的回购浏览器来浏览存储库并做些事情。 你可以做的一件事是在存储库中创build目录。 通常情况下,你将不得不检出repo,然后创build并添加目录,最后提交它们来完成这个任务。 但是你可以在一个命令的回购浏览器中完成。 有没有可能从命令行做类似的事情?
我们有一个Apache Subversion服务器,我们在其中存储了所有的文档。 我们在svn中有很多Word,Excel,PDF等文档,我们所有的用户都使用TortoiseSVN作为他们的客户端界面。 很多用户还会通过网页浏览器浏览回购,不幸的是,这通常是Internet Explorer。 最近我们开始试用Office 2010(从2003年开始),发现使用IE浏览器时,回购文件的打开方式不同。 而不是IE下载文件,然后将其发送到适当的应用程序(之后它应该只是一个临时存储在本地),它将文档的URL发送到应用程序。 该文档由应用程序下载,然后将其视为来自Sharepoint服务器,即应用程序试图locking它,然后将所有保存的更改自动上传到服务器。 从谷歌search,似乎很多人都希望这种行为。 但是,我们想要禁用它 – 这不符合我们现有的stream程。 我怎么能这样做? 我对客户端机器没有很多控制权,所以涉及为每个客户端禁用所有Office文档协作function的解决scheme并不是我所期待的。 另外,除了在IE中禁用Office Document Cache Handler插件之外,我找不到其他的办法。 唯一可行的客户端选项是专门为我们的命名服务器禁用此function的选项,但将其留给其他人使用。 这样就留下了服务器端解决scheme。 我猜Office办公室看到svn服务器有WebDAV支持,因此进入一个Sharepoint的文档pipe理工作stream程。 有没有办法阻止这种集成,而不禁用服务器上的所有WebDAV支持(假设我们甚至可以这样做)? 我们实际上使用svn的autoversioning其他用途,所以这是一个必需的function。 我已经find关于禁用该function的讨论,如果它实际上是一个Sharepoint服务器,但它不是! 我理解这种事情是如何工作的(例如,Office客户端在服务器上识别WebDAV支持)是相当有限的,所以如果可以的话请进一步解释。 如果重要,服务器设置是: Ubuntu Hardy 8.04上的Apache v2.2.8和Subversion v1.4.6。
我们偶尔会遇到TortoiseSVN(我认为它是乌龟,而不是我们的SVN仓库)的问题,一个文件将被签入到仓库(做一个回购 – 浏览器,你可以看到那里的文件),并将存在的人谁承诺,但是当另一个人做了更新,这些文件将不会被添加到工作副本。 如果我然后从回购浏览器中select“复制到工作副本…”并尝试提交,那么这些文件将被视为新的,并且我的客户端会尝试添加它们,从而导致错误。 更新也会导致一些错误(我不知道如何重现这个,所以我不知道具体是什么原因造成的,我不记得确切的错误)。 然后我必须从存储库中删除文件,并提交新的文件。 之后,一切正常,原来的人没有问题的文件。 该存储库通过svn://协议访问到运行版本1.4.6的服务器。 它位于作为Windows服务运行的Windows Server 2003计算机上。 存储库的布局如下: [储存库] /代码/ [项目] [资源库] /代码/ [网站] / *一些页面在这里* [repository] / data / [其他数据文件] [储存库] /参考/ [dll的/引用] 这几乎只发生在.aspx / .aspx.cs / .aspx.designer.cs中,并且通常每次都是3个。 就好像整个“页面”不会被添加到我的文件夹。 这发生在Visual Studio打开并运行解决scheme,也没有Visual Studio打开。 有没有人看过这个,你知道的原因/解决scheme?
你有什么build议相对交钥匙的SVN签入通知系统? 我正在寻找的东西,允许更改库文件的摘要和实际差异的内容发送到开发团队的所有成员发送时,可能与链接到ViewVC的完整受影响的源文件或某事。 这是可选的。 我绝对希望实际的差异/代码片段被整齐划分。 没有人会去看待这些事情(就好像他们会这样做:-)如果从一开始就只是一个不可思议的代码片断的鲁莽转折。 原则上,我只想查看修订号,摘要,提交的用户以及受影响的存储库文件的列表。 我花了一点时间来研究写自己的可行性,虽然我看到SVN正是以这种方式捕捉各种事件的“钩子”,但是获得可行的抛光效果似乎是一个相当复杂的任务。 可以肯定的是,开放源代码软件包在那里存在,我想知道你们中的哪一个能够帮助我解决哪些是好的,哪些是坏的麻烦。 我正在寻找相当容易设置的东西,而不需要太多时间; 我很乐意花时间学习一个非常全面的系统的来龙去脉,但是我也得真正地做这个开发。 非常感谢您提前! 编辑:我知道Sourceforge做得很好。 我在几个不断得到这些消息的列表上。 但我无法真正使用Sourceforge来处理我正在进行的各种项目。
在保护对源代码的访问方面,行业最佳做法是什么? 我想通过Apache的SSL连接只允许通过我们的服务器在一个不与别的冲突的模糊的端口。 困扰我的事情是将源代码存储在面向公众的服务器上,即不仅可以通过局域网访问。 而且,这个服务器有几个用途。 阿帕奇已经提供了一些其他内部公司的网站。 我希望每个人都能够从任何地方(家庭,机场,任何地方)访问源代码,只要他们有正确的凭据。 build议?
什么是Subversion备份的最佳方法(在基于Debian的服务器上)。 是使用svnadmin吗? svnadmin dump /path/to/reponame > reponame.dump 或者,也许只是要tar存储库所在的目录? tar -cvzf svn.backup.tar.gz /var/subversion/ 以上是什么利弊? 感谢Johan 更新 :这是一个只有less数回购的小型服务器。 所以增量备份可能不需要,我认为最好把重点放在保持简单。 更新 :我使用包裹包装脚本(反过来是svn热备份的包装)进行完整备份,然后在另一台干净的计算机上完成恢复。 但是,我删除了“SVN_HOTBACKUP_NUM_BACKUPS = 10”部分,因为它不适合我。 请注意,我觉得这很简单,结果非常接近只是焦油的目录。 但是,正如Manni在这里指出的那样,使用svn-hot-backup /“svnadmin hotcopy”是一个更可靠的方法,因为如果你运气不好,tar可能会不时地创build损坏的备份。
我正在做svn更新来更新我的PHP网站的代码,但它留下了.svn/文件夹。 我认为将这些文件公开地读取是危险的,但是它很容易更新系统。 有没有办法使用svn update来更新系统,但不导出.svn/文件夹?
我在Windows Server 2003盒子上有一组私人的Subversion版本库,开发者通过svn://协议通过SVNServe访问。 目前我们一直在使用每个版本库的authz和passwd文件来控制访问,但是随着越来越多的版本库和开发人员的使用,我正考虑从ActiveDirectory中使用他们的证书。 我们运行在所有的微软商店,在我们所有的Web服务器上使用IIS而不是Apache,所以如果可能的话,我宁愿继续使用SVNServe。 除此之外,我还担心如何迁移存储库,以便现有用户的历史logging映射到正确的ActiveDirectory帐户。 请记住,我不是networkingpipe理员,我不熟悉ActiveDirectory,所以我可能需要通过其他人来获取在ActiveDirectory中所做的更改(如有必要)。 我有什么select? 更新1:从SVN文档看来,通过使用SASL我应该能够获得SVNServe使用ActiveDirectory进行身份validation。 为了澄清,我正在寻找的答案是如何去configurationSVNServe(如果可能)使用ActiveDirectory进行身份validation,然后如何修改现有的存储库,将现有的svn用户重新映射到他们的ActiveDirectory域login帐户。 更新2:SVNServe中的SASL支持看起来像一个插件模型,文档仅作为示例显示。 看着赛勒斯SASL库它看起来像一些身份validation“机制”支持,但我不知道哪一个将用于ActiveDirectory的支持,也不能find任何关于这些问题的文档。 更新3:好吧,它看起来像为了与ActiveDirectory通信我期待使用saslauthd而不是sasldb的auxprop_plugin属性。 不幸的是,根据一些post(可能已经过时和不准确), saslauthd并不是基于Windows开发的,这种努力被认为是一项正在进行的工作 。 更新4:我发现在这个主题上的最新post听起来好像正确的二进制文件()可以通过MIT Kerberos库,但它听起来像Nabble.com上的这篇文章的作者仍然有问题得到的东西工作。 更新5:它看起来像从TortoiseSVN讨论 ,也是这个职位svn.haxx.se ,即使saslgssapi.dll或任何必要的二进制文件可用和configuration在Windows服务器上,客户端也将需要相同的定制,以与这些存储库一起工作。 如果这是真的,那么只有在这些客户端(例如TortoiseSVN和客户端二进制文件的CollabNet版本)中进行了更改以支持这种身份validationscheme时,我们才能够从Windows客户端获得ActiveDirectory支持。 虽然这就是这些post所暗示的,但这与我原本从其他阅读中得出的结论相矛盾,因为与SASL兼容应该不需要在客户端上进行更改,而只需要设置服务器来处理authentication机制。 在Subversion第5部分关于Cyrus SASL的文档中,更仔细地阅读了一些内容后,他表示:“具有Cyrus SASL支持的1.5+客户端将能够在支持SASL的1.5+以上的服务器上进行身份validation,前提是服务器支持的机制至less有一个也得到客户的支持。“ 很明显,GSSAPI支持(我明白是Active Directory所必需的)必须在客户端和服务器中可用。 我不得不说,我对于Subversion如何处理身份validation的内部知识了解得太多了。 不幸的是,我只是在寻找一个答案,在Windows服务器上使用SVNServe并从Windows客户端访问这个服务器时,是否可以拥有Active Directory身份validation支持。 根据官方文件,这似乎是可能的,但是你可以看到,即使可能,configuration也是不平凡的。 更新:6:由于在Subversion 1.7上的开发正在结束,有没有人可以添加Subversion 1.7是否会改善SVNServe使用Active Directory进行身份validation的情况呢?