- Documentation fixes: typo in the man page.
+ - Use "cvs co -d" instead of "cvs co -p >" when checking out something
+ from CVS with a specified module name. This avoids zero-length
+ files when there is a checkout error.
+
From Gary Oberbrunner:
- Report the target being built in error messages when building
# Don't use os.path.join() because the name we fetch might
# be across a network and must use POSIX slashes as separators.
module = module + '/'
- env['CVSCOM'] = '$CVS $CVSFLAGS co $CVSCOFLAGS -p $CVSMODULE${TARGET.posix} > $TARGET'
+ env['CVSCOM'] = '$CVS $CVSFLAGS co $CVSCOFLAGS -d ${TARGET.dir} $CVSMODULE${TARGET.posix}'
return SCons.Builder.Builder(action = '$CVSCOM',
env = env,
overrides = {'CVSREPOSITORY':repos,
test.run(chdir = 'work2',
arguments = '.',
stdout = test.wrap_stdout(read_str = """\
-cvs -q -d %s co -p foo/sub/SConscript > %s
-""" % (cvsroot, sub_SConscript),
+cvs -q -d %s co -d sub foo/sub/SConscript
+U sub/SConscript
+""" % (cvsroot),
build_str = """\
-cvs -q -d %s co -p foo/aaa.in > aaa.in
+cvs -q -d %s co -d . foo/aaa.in
+U ./aaa.in
cat("aaa.out", "aaa.in")
cat("bbb.out", "bbb.in")
-cvs -q -d %s co -p foo/ccc.in > ccc.in
+cvs -q -d %s co -d . foo/ccc.in
+U ./ccc.in
cat("ccc.out", "ccc.in")
cat("all", ["aaa.out", "bbb.out", "ccc.out"])
-cvs -q -d %s co -p foo/sub/ddd.in > %s
+cvs -q -d %s co -d sub foo/sub/ddd.in
+U sub/ddd.in
cat("%s", "%s")
cat("%s", "%s")
-cvs -q -d %s co -p foo/sub/fff.in > %s
+cvs -q -d %s co -d sub foo/sub/fff.in
+U sub/fff.in
cat("%s", "%s")
cat("%s", ["%s", "%s", "%s"])
""" % (cvsroot,
cvsroot,
- cvsroot, sub_ddd_in,
+ cvsroot,
sub_ddd_out, sub_ddd_in,
sub_eee_out, sub_eee_in,
- cvsroot, sub_fff_in,
+ cvsroot,
sub_fff_out, sub_fff_in,
sub_all, sub_ddd_out, sub_eee_out, sub_fff_out)))