使来自外部存储库的源保持最新
时间:2020-03-06 14:32:28 来源:igfitidea点击:
开始跟踪一堆开源软件的源之后,如何使代码保持同步?每次我们想查看或者使用代码时都运行svn update
吗?
令我惊讶的是,最好每天晚上开始使用(例如)cron作业来镜像代码。人们是否设置了工作流来执行此类操作? (如果我们对代码进行的更改何时/是否最终与最新更新发生冲突,则会发出警报?)
还是我一个人呆着? (我正在运行Mac OS X,但对一般以及特定的解决方案都感兴趣。)
解决方案
如果存储库每次有人签入时都向我们发送一封电子邮件,为什么没有一个程序来检查这些电子邮件,然后在那时更新工作副本?这样,我们始终可以保持最新状态。注意事项包括不必要地消耗带宽,当我们正在处理的文件更新时,可能会出现奇怪的冲突。
仅每天或者每隔几天更新一次,仅在项目的不同部分中工作的人员数量有限时才有用。当我们有五个以上的人员,并且他们在代码的相似部分中工作时,每小时更新一次或者更频繁地更新的可能性要好得多。
Subversion书籍建议的一般工作流程是经常更新工作副本。在每个工作日的开始都是个好时机。但是我们不必。只要我们想查看最新更改,就进行更新。
我在src /目录下签出了许多开放源代码存储库。每隔几天,我记得要从该目录运行" svn up *",它会更新其中包含的所有工作副本。
实际上,只有在我自己的应用程序中使用开放源代码库时,我才会经常进行更新,而外部存储库实际上将成为我的项目树的一部分,当我更新项目时,它也会同时更新外部存储库。我认为,仅当我们查看研究代码时,才希望查看他们发布并更新的新功能。
我们可能需要研究使用svn:externals:http://svnbook.red-bean.com/en/1.0/ch07s03.html