保持来自外部存储库的源是最新的
Posted
技术标签:
【中文标题】保持来自外部存储库的源是最新的【英文标题】:Keep sources from external repositories up-to-date 【发布时间】:2010-09-12 00:23:35 【问题描述】:在你开始追踪一堆开源软件的源头之后,你如何让你的代码保持同步?每次想看或玩代码时运行svn update
?
让我感到震惊的是,最好每天晚上开始使用(比如说)cron
工作来镜像代码。人们是否设置了工作流程来做这种事情? (当/如果您对代码所做的任何更改最终与最新更新冲突时发出警报?)
还是我一个人? (我正在运行 Mac OS X,但对一般解决方案和特定解决方案感兴趣。)
【问题讨论】:
【参考方案1】:the Subversion book 推荐的一般工作流程是经常更新你的工作副本;在每个工作日开始时都是一个好时机。但你不必这样做。只要您想看到最新的变化,就随时更新。
我在 src/ 目录下签出了许多开源存储库。每隔几天,我记得从那个目录运行 'svn up *',它会更新其中包含的所有工作副本。
【讨论】:
【参考方案2】:如果您的存储库在每次有人签入时都会向您发送一封电子邮件,为什么不使用一个程序来检查这些电子邮件,然后在那时更新工作副本?这样您就可以始终保持最新状态。注意事项包括不必要地消耗带宽,以及当您正在处理的文件更新时出现奇怪冲突的可能性。
每天更新一次,或者每隔几天更新一次,只有在项目的不同领域工作人员数量有限时才有用。如果您有超过 5 个人,并且他们可能在代码的相似部分工作,则每小时更新一次或更频繁地更新会好得多。
【讨论】:
【参考方案3】:只有当我在自己的应用程序中使用开源库时,我才会经常更新,外部存储库实际上是我项目树的一部分,当我更新我的项目时,它也会更新外部存储库。我认为,当您只查看代码进行研究时,只有查看他们发布的新功能然后进行更新才有意义。
【讨论】:
如果您正在处理团队经常更新的内容,您希望及时了解他们正在更改的内容,因为这可能会影响您自己的更改。对吗?【参考方案4】:您可能想考虑使用 svn:externals: http://svnbook.red-bean.com/en/1.0/ch07s03.html
【讨论】:
以上是关于保持来自外部存储库的源是最新的的主要内容,如果未能解决你的问题,请参考以下文章
数据库项目 - “无法解析对来自名为 x 的源的外部元素的引用