=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/checkout.c,v retrieving revision 1.101 retrieving revision 1.102 diff -c -r1.101 -r1.102 *** src/usr.bin/cvs/checkout.c 2007/09/07 23:05:04 1.101 --- src/usr.bin/cvs/checkout.c 2007/09/09 20:24:06 1.102 *************** *** 1,4 **** ! /* $OpenBSD: checkout.c,v 1.101 2007/09/07 23:05:04 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * --- 1,4 ---- ! /* $OpenBSD: checkout.c,v 1.102 2007/09/09 20:24:06 tobias Exp $ */ /* * Copyright (c) 2006 Joris Vink * *************** *** 141,146 **** --- 141,148 ---- struct stat st; struct cvs_recursion cr; + build_dirs = print_stdout ? 0 : 1; + if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) { cvs_client_connect_to_server(); *************** *** 161,167 **** cr.enterdir = NULL; cr.leavedir = NULL; ! cr.fileproc = cvs_client_sendfile; cr.flags = flags; cvs_file_run(argc, argv, &cr); --- 163,169 ---- cr.enterdir = NULL; cr.leavedir = NULL; ! cr.fileproc = NULL; cr.flags = flags; cvs_file_run(argc, argv, &cr); *************** *** 194,206 **** cr.fileproc = cvs_update_local; cr.flags = flags; ! cvs_mkpath(dirname(argv[i]), cvs_specified_tag); cvs_file_run(1, &(argv[i]), &cr); continue; } ! cvs_mkpath(argv[i], cvs_specified_tag); checkout_repository(repo, argv[i]); } } --- 196,211 ---- cr.fileproc = cvs_update_local; cr.flags = flags; ! ! if (build_dirs == 1) ! cvs_mkpath(dirname(argv[i]), cvs_specified_tag); cvs_file_run(1, &(argv[i]), &cr); continue; } ! if (build_dirs == 1) ! cvs_mkpath(argv[i], cvs_specified_tag); checkout_repository(repo, argv[i]); } } *************** *** 217,223 **** cvs_history_add((cvs_cmdop == CVS_OP_CHECKOUT) ? CVS_HISTORY_CHECKOUT : CVS_HISTORY_EXPORT, NULL, wdbase); - build_dirs = 1; cr.enterdir = cvs_update_enterdir; cr.leavedir = cvs_update_leavedir; cr.fileproc = cvs_update_local; --- 222,227 ----