version 1.50, 2006/06/14 14:10:50 |
version 1.51, 2006/06/16 14:02:37 |
|
|
static char *vendor_tag = NULL; |
static char *vendor_tag = NULL; |
static char *release_tag = NULL; |
static char *release_tag = NULL; |
|
|
|
static int dflag = 0; |
|
|
char *import_repository = NULL; |
char *import_repository = NULL; |
int import_conflicts = 0; |
int import_conflicts = 0; |
|
|
|
|
CVS_OP_IMPORT, CVS_REQ_IMPORT, "import", |
CVS_OP_IMPORT, CVS_REQ_IMPORT, "import", |
{ "im", "imp" }, |
{ "im", "imp" }, |
"Import sources into CVS, using vendor branches", |
"Import sources into CVS, using vendor branches", |
"[-b vendor branch id] [-m message] repository vendor-tag release-tags", |
"[-d] [-b branch] [-m message] repository vendor-tag release-tags", |
"b:m:", |
"b:dm:", |
NULL, |
NULL, |
cvs_import |
cvs_import |
}; |
}; |
|
|
case 'b': |
case 'b': |
import_branch = optarg; |
import_branch = optarg; |
break; |
break; |
|
case 'd': |
|
dflag = 1; |
|
break; |
case 'm': |
case 'm': |
logmsg = optarg; |
logmsg = optarg; |
break; |
break; |
|
|
{ |
{ |
BUF *bp; |
BUF *bp; |
char *content; |
char *content; |
|
time_t tstamp; |
|
struct stat st; |
struct rcs_branch *brp; |
struct rcs_branch *brp; |
struct rcs_delta *rdp; |
struct rcs_delta *rdp; |
RCSNUM *branch, *brev; |
RCSNUM *branch, *brev; |
|
|
|
tstamp = -1; |
|
|
cvs_log(LP_TRACE, "import_new(%s)", cf->file_name); |
cvs_log(LP_TRACE, "import_new(%s)", cf->file_name); |
|
|
if (cvs_noexec == 1) { |
if (cvs_noexec == 1) { |
|
|
return; |
return; |
} |
} |
|
|
|
if (dflag == 1) { |
|
if (fstat(cf->fd, &st) == -1) |
|
fatal("import_new: %s", strerror(errno)); |
|
|
|
tstamp = st.st_mtime; |
|
} |
|
|
if ((branch = rcsnum_parse(import_branch)) == NULL) |
if ((branch = rcsnum_parse(import_branch)) == NULL) |
fatal("import_new: failed to parse branch"); |
fatal("import_new: failed to parse branch"); |
|
|
|
|
if (rcs_sym_add(cf->file_rcs, release_tag, brev) == -1) |
if (rcs_sym_add(cf->file_rcs, release_tag, brev) == -1) |
fatal("import_new: failed to add vendor tag"); |
fatal("import_new: failed to add vendor tag"); |
|
|
if (rcs_rev_add(cf->file_rcs, brev, logmsg, -1, NULL) == -1) |
if (rcs_rev_add(cf->file_rcs, brev, logmsg, tstamp, NULL) == -1) |
fatal("import_new: failed to create first branch revision"); |
fatal("import_new: failed to create first branch revision"); |
|
|
if (rcs_rev_add(cf->file_rcs, RCS_HEAD_REV, logmsg, -1, NULL) == -1) |
if (rcs_rev_add(cf->file_rcs, RCS_HEAD_REV, logmsg, tstamp, NULL) == -1) |
fatal("import_new: failed to create first revision"); |
fatal("import_new: failed to create first revision"); |
|
|
if ((rdp = rcs_findrev(cf->file_rcs, cf->file_rcs->rf_head)) == NULL) |
if ((rdp = rcs_findrev(cf->file_rcs, cf->file_rcs->rf_head)) == NULL) |