不同 SCM 中的 SVN 外部
在以前的工作场所,当更新共享组件时,我们使用 svn externals 来更新依赖项目。这样可以轻松查看这些更改所破坏的任何内容,并自动将依赖项目更新为共享组件的最新版本,而无需任何干预。
在一个新的工作场所,我们将 cc.net 与 Surround scm 一起使用,我试图在 Surround 中找到类似的东西。我没有找到类似外部的东西,只有“共享文件”,但与外部不同的是,共享文件不允许您指向外部文件的特定修订版。
我对其他人在这些场景中所做的事情感兴趣,以依靠他们的持续集成,并将其比“持续构建”服务器更多地用于集成。有谁知道有什么工具或东西可以在不使用 svn 的情况下执行“外部”行为?
我想有一个 xml 注册表文件,其中项目依赖于哪些程序集以及它们是否应该使用最新版本,但这似乎有点矫枉过正。
At a previous workplace we used svn externals to update dependent projects when a shared component was updated. This made it easy to see anything that those changes broke, as well as update dependent projects to the latest version of a shared component automatically without any intervention.
At a new workplace we are using cc.net with surround scm and I'm trying to find something similar in surround. I haven't found anything like externals, only "shared files", but unlike externals, the shared files doesn't allow you to point at a specific revision of a file for the external.
I'm interested in what other people are doing in these scenarios to lean on their continuous integration and treat it more for integration than a "continuous build" server. Does anyone know of a tool or something to do "externals" behavior without using svn?
I suppose having an xml registry file of which projects depend on which assemblies and if they should be using the latest version but this seems like overkill.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就我个人而言,我认为在版本控制系统中拥有外部(或类似的东西)有点奇怪,而且实际上很容易出错。我非常喜欢使用构建系统(ant、make 等)或持续集成系统(hudson、构建机器人等)来实现此目的。
使用构建系统,我只是将“公共部分”放在可以获取的地方(使用 wget、curl 或简单的 cp),并有一个目标来检查本地(有时甚至签入到本地项目)副本是否达到日期。
使用持续集成系统,至少 Hudson 可以轻松地从多个存储库中检查单个构建的目录。当使用这种方法时,我还检查了其他目录以进行本地开发,并在 Eclipse 中标记为“项目依赖项”。
Personally, I think having externals (or someting like it) in the version control system is a bit strange and actually rather prone to errors. I greatly prefer to use the build system (ant, make, etc) or the continous integration system (hudson, build bot, etc) for that purpose.
Using the build system, I just put the "common parts" somewhere they can be fetched (with wget, curl or simply cp) and have a target that checks if a local (sometimes even checked in to the local project) copy is up to date.
Using the continous integration system, at least Hudson can easily check out directories from multiple repos for a single build. When using this aproach, I also have that other directory checked out for local development, and marked as a "project dependency" in eclipse.