=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/update.c,v retrieving revision 1.48 retrieving revision 1.49 diff -c -r1.48 -r1.49 *** src/usr.bin/cvs/update.c 2005/12/22 14:59:54 1.48 --- src/usr.bin/cvs/update.c 2005/12/30 02:03:28 1.49 *************** *** 1,4 **** ! /* $OpenBSD: update.c,v 1.48 2005/12/22 14:59:54 xsa Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: update.c,v 1.49 2005/12/30 02:03:28 joris Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 133,153 **** cvs_update_pre_exec(struct cvsroot *root) { if (root->cr_method != CVS_METHOD_LOCAL) { ! if ((cvs_cmd_update.cmd_flags & CVS_CMD_PRUNEDIRS) && ! (cvs_sendarg(root, "-P", 0) < 0)) ! return (CVS_EX_PROTO); ! if (Aflag && cvs_sendarg(root, "-A", 0) < 0) ! return (CVS_EX_PROTO); ! if (dflag && cvs_sendarg(root, "-d", 0) < 0) ! return (CVS_EX_PROTO); ! if ((rev != NULL) && ((cvs_sendarg(root, "-r", 0) < 0) || ! (cvs_sendarg(root, rev, 0) < 0))) ! return (CVS_EX_PROTO); ! if ((date != NULL) && ((cvs_sendarg(root, "-D", 0) < 0) || ! (cvs_sendarg(root, date, 0) < 0))) ! return (CVS_EX_PROTO); } return (0); --- 133,156 ---- cvs_update_pre_exec(struct cvsroot *root) { if (root->cr_method != CVS_METHOD_LOCAL) { ! if (cvs_cmd_update.cmd_flags & CVS_CMD_PRUNEDIRS) ! cvs_sendarg(root, "-P", 0); ! if (Aflag) ! cvs_sendarg(root, "-A", 0); ! if (dflag) ! cvs_sendarg(root, "-d", 0); ! ! if (rev != NULL) { ! cvs_sendarg(root, "-r", 0); ! cvs_sendarg(root, rev, 0); ! } ! ! if (date != NULL) { ! cvs_sendarg(root, "-D", 0); ! cvs_sendarg(root, date, 0); ! } } return (0); *************** *** 162,216 **** static int cvs_update_remote(CVSFILE *cf, void *arg) { - int ret; char fpath[MAXPATHLEN]; struct cvsroot *root; - ret = 0; root = CVS_DIR_ROOT(cf); if (cf->cf_type == DT_DIR) { if (cf->cf_cvstat == CVS_FST_UNKNOWN) ! ret = cvs_sendreq(root, CVS_REQ_QUESTIONABLE, ! cf->cf_name); else ! ret = cvs_senddir(root, cf); ! ! if (ret == -1) ! ret = CVS_EX_PROTO; ! ! return (ret); } cvs_file_getpath(cf, fpath, sizeof(fpath)); ! if (cvs_sendentry(root, cf) < 0) ! return (CVS_EX_PROTO); if (!(cf->cf_flags & CVS_FILE_ONDISK)) return (0); switch (cf->cf_cvstat) { case CVS_FST_UNKNOWN: ! ret = cvs_sendreq(root, CVS_REQ_QUESTIONABLE, cf->cf_name); break; case CVS_FST_UPTODATE: ! ret = cvs_sendreq(root, CVS_REQ_UNCHANGED, cf->cf_name); break; case CVS_FST_ADDED: case CVS_FST_MODIFIED: ! ret = cvs_sendreq(root, CVS_REQ_MODIFIED, cf->cf_name); ! if (ret == 0) ! ret = cvs_sendfile(root, fpath); break; default: break; } ! if (ret == -1) ! ret = CVS_EX_PROTO; ! ! return (ret); } /* --- 165,207 ---- static int cvs_update_remote(CVSFILE *cf, void *arg) { char fpath[MAXPATHLEN]; struct cvsroot *root; root = CVS_DIR_ROOT(cf); if (cf->cf_type == DT_DIR) { if (cf->cf_cvstat == CVS_FST_UNKNOWN) ! cvs_sendreq(root, CVS_REQ_QUESTIONABLE, cf->cf_name); else ! cvs_senddir(root, cf); ! return (0); } cvs_file_getpath(cf, fpath, sizeof(fpath)); ! cvs_sendentry(root, cf); if (!(cf->cf_flags & CVS_FILE_ONDISK)) return (0); switch (cf->cf_cvstat) { case CVS_FST_UNKNOWN: ! cvs_sendreq(root, CVS_REQ_QUESTIONABLE, cf->cf_name); break; case CVS_FST_UPTODATE: ! cvs_sendreq(root, CVS_REQ_UNCHANGED, cf->cf_name); break; case CVS_FST_ADDED: case CVS_FST_MODIFIED: ! cvs_sendreq(root, CVS_REQ_MODIFIED, cf->cf_name); ! cvs_sendfile(root, fpath); break; default: break; } ! return (0); } /*