从某些站点看来,Scons 支持 subversion checkout:
env = Environment()
env.SourceCode('.', env.Subversion('XXX'))
env.Program('hello.c')
Run Code Online (Sandbox Code Playgroud)
http://www.scons.org/doc/0.92/HTML/scons-user/x1625.html
但是从最新稳定版本(2.0.0)的手册页/用户指南中没有颠覆。更改日志中没有提到它。所以我想知道发生了什么。
从表面上看,SourceCode 在 2.0 中已被弃用。最近关于弃用的讨论很少。2.0 的发行说明说:
- SourceCode() 函数及其关联的工厂函数已开始弃用周期,并且可以启用警告。
并且ChangeLog也简要提到了它:
- 开始弃用 SourceCode() 和相关工厂的周期
从邮件列表中可以看出,2008 年 10 月有一项民意调查。弃用的原因似乎是SourceCode()增加了代码库的大量复杂性,在野外使用不多,不支持遗留 RCS 和 SCCS 以外的任何东西,有缺陷的 Subversion 支持,并且通常不支持值得留守。
大多数对民意调查的回复说“我不使用这个功能”,偶尔会有“是的,它有问题”或“你为什么要混合源代码控制和构建系统?”。