=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/import.c,v retrieving revision 1.47 retrieving revision 1.48 diff -c -r1.47 -r1.48 *** src/usr.bin/cvs/import.c 2006/06/01 20:01:31 1.47 --- src/usr.bin/cvs/import.c 2006/06/04 09:52:56 1.48 *************** *** 1,4 **** ! /* $OpenBSD: import.c,v 1.47 2006/06/01 20:01:31 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * --- 1,4 ---- ! /* $OpenBSD: import.c,v 1.48 2006/06/04 09:52:56 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * *************** *** 89,96 **** if (l == -1 || l >= (int)sizeof(repo)) fatal("cvs_import: overflow"); ! if (mkdir(repo, 0755) == -1 && errno != EEXIST) ! fatal("cvs_import: %s: %s", repo, strerror(errno)); cr.enterdir = NULL; cr.leavedir = NULL; --- 89,98 ---- if (l == -1 || l >= (int)sizeof(repo)) fatal("cvs_import: overflow"); ! if (cvs_noexec != 1) { ! if (mkdir(repo, 0755) == -1 && errno != EEXIST) ! fatal("cvs_import: %s: %s", repo, strerror(errno)); ! } cr.enterdir = NULL; cr.leavedir = NULL; *************** *** 132,137 **** --- 134,141 ---- if (verbosity > 1) cvs_log(LP_NOTICE, "Importing %s", cf->file_path); + if (cvs_noexec == 1) + return; if (mkdir(cf->file_rpath, 0755) == -1 && errno != EEXIST) fatal("cvs_import_local: %s: %s", cf->file_rpath, *************** *** 167,172 **** --- 171,181 ---- cvs_log(LP_TRACE, "import_new(%s)", cf->file_name); + if (cvs_noexec == 1) { + cvs_printf("N %s/%s\n", import_repository, cf->file_path); + return; + } + if ((branch = rcsnum_parse(import_branch)) == NULL) fatal("import_new: failed to parse branch"); *************** *** 272,277 **** --- 281,287 ---- if (rcs_deltatext_set(cf->file_rcs, newrev, d) == -1) fatal("import_update: failed to set deltatext"); + xfree(d); import_tag(cf, brev, newrev); *************** *** 296,306 **** { char b[16]; ! rcsnum_tostr(branch, b, sizeof(b)); ! rcs_sym_add(cf->file_rcs, vendor_tag, branch); ! rcsnum_tostr(newrev, b, sizeof(b)); ! rcs_sym_add(cf->file_rcs, release_tag, newrev); } static char * --- 306,318 ---- { char b[16]; ! if (cvs_noexec != 1) { ! rcsnum_tostr(branch, b, sizeof(b)); ! rcs_sym_add(cf->file_rcs, vendor_tag, branch); ! rcsnum_tostr(newrev, b, sizeof(b)); ! rcs_sym_add(cf->file_rcs, release_tag, newrev); ! } } static char * *************** *** 318,334 **** b3 = cvs_buf_alloc(128, BUF_AUTOEXT); ! (void)xasprintf(&p1, "%s/diff1.XXXXXXXXXX", cvs_tmpdir); ! cvs_buf_write_stmp(b1, p1, 0600, NULL); ! cvs_buf_free(b1); ! (void)xasprintf(&p2, "%s/diff2.XXXXXXXXXX", cvs_tmpdir); ! cvs_buf_write_stmp(b2, p2, 0600, NULL); ! cvs_buf_free(b2); ! diff_format = D_RCSDIFF; ! if (cvs_diffreg(p2, p1, b3) == D_ERROR) ! fatal("import_get_rcsdiff: failed to get RCS patch"); cvs_buf_putc(b3, '\0'); delta = cvs_buf_release(b3); --- 330,348 ---- b3 = cvs_buf_alloc(128, BUF_AUTOEXT); ! if (cvs_noexec != 1) { ! (void)xasprintf(&p1, "%s/diff1.XXXXXXXXXX", cvs_tmpdir); ! cvs_buf_write_stmp(b1, p1, 0600, NULL); ! cvs_buf_free(b1); ! (void)xasprintf(&p2, "%s/diff2.XXXXXXXXXX", cvs_tmpdir); ! cvs_buf_write_stmp(b2, p2, 0600, NULL); ! cvs_buf_free(b2); ! diff_format = D_RCSDIFF; ! if (cvs_diffreg(p2, p1, b3) == D_ERROR) ! fatal("import_get_rcsdiff: failed to get RCS patch"); ! } cvs_buf_putc(b3, '\0'); delta = cvs_buf_release(b3);