CVS fixes.
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 7 Jul 2003 16:23:00 +0000 (16:23 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 7 Jul 2003 16:23:00 +0000 (16:23 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@735 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/SCons/Tool/CVS.py
test/CVS.py

index 40fdbbb3cc4b68ddf4638219a69a119c957e0dfe..8426798de2561ff245aebe04e0011ad1fdf94a18 100644 (file)
@@ -22,6 +22,10 @@ RELEASE 0.XX - XXX
 
   - 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
index f16376b9bc595b06ec0740397075a6c274801c35..b3bd16636e25212d7fcbff1b84ae1d402f0ceeed 100644 (file)
@@ -48,7 +48,7 @@ def generate(env):
            # 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,
index 1ce28d6ddb52941743e7cbc5402c4d5bf50da312..85e11fea8972aad3b5e44ac5f48fa245fbcfac05 100644 (file)
@@ -192,27 +192,32 @@ test.write(['work2', 'sub', 'eee.in'], "work2/sub/eee.in\n")
 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)))