version 1.6, 2004/08/12 17:48:18 |
version 1.7, 2004/08/12 18:02:18 |
|
|
int |
int |
cvs_update(int argc, char **argv) |
cvs_update(int argc, char **argv) |
{ |
{ |
int ch, i, flags; |
int ch, flags; |
struct cvs_file *cf; |
|
|
|
cf = NULL; |
|
flags = CF_SORT|CF_RECURSE|CF_IGNORE|CF_KNOWN; |
flags = CF_SORT|CF_RECURSE|CF_IGNORE|CF_KNOWN; |
|
|
while ((ch = getopt(argc, argv, "ACD:dflPpQqRr:")) != -1) { |
while ((ch = getopt(argc, argv, "ACD:dflPpQqRr:")) != -1) { |
|
|
argv += optind; |
argv += optind; |
|
|
if (argc == 0) { |
if (argc == 0) { |
cf = cvs_file_get(".", flags); |
cvs_files = cvs_file_get(".", flags); |
} |
} |
else { |
else { |
/* don't perform ignore on explicitly listed files */ |
/* don't perform ignore on explicitly listed files */ |
flags &= ~CF_IGNORE; |
flags &= ~(CF_IGNORE | CF_RECURSE | CF_SORT); |
|
cvs_files = cvs_file_getspec(argv, argc, flags); |
for (i = 0; i < argc; i++) { |
|
cf = cvs_file_get(argv[i], flags); |
|
} |
|
} |
} |
|
if (cvs_files == NULL) |
|
return (EX_DATAERR); |
|
|
cvs_file_examine(cf, cvs_update_file, NULL); |
cvs_file_examine(cvs_files, cvs_update_file, NULL); |
|
|
cvs_senddir(cf->cf_ddat->cd_root, cf); |
cvs_senddir(cvs_files->cf_ddat->cd_root, cvs_files); |
cvs_sendreq(cf->cf_ddat->cd_root, CVS_REQ_UPDATE, NULL); |
cvs_sendreq(cvs_files->cf_ddat->cd_root, CVS_REQ_UPDATE, NULL); |
|
|
return (0); |
return (0); |
} |
} |