[BACK]Return to co.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / rcs

Diff for /src/usr.bin/rcs/co.c between version 1.68 and 1.69

version 1.68, 2006/03/29 08:44:08 version 1.69, 2006/03/30 23:06:25
Line 154 
Line 154 
         }          }
   
         for (i = 0; i < argc; i++) {          for (i = 0; i < argc; i++) {
                   frev = NULL;
                 if (rcs_statfile(argv[i], fpath, sizeof(fpath)) < 0)                  if (rcs_statfile(argv[i], fpath, sizeof(fpath)) < 0)
                         continue;                          continue;
   
Line 195 
Line 196 
                         rcs_set_mtime(fpath, rcs_mtime);                          rcs_set_mtime(fpath, rcs_mtime);
         }          }
   
         if (rev != RCS_HEAD_REV)          if ((rev != RCS_HEAD_REV) && (frev != NULL))
                 rcsnum_free(frev);                  rcsnum_free(frev);
   
         return (status);          return (status);
Line 224 
Line 225 
     const char *date)      const char *date)
 {  {
         BUF *bp;          BUF *bp;
           u_int i;
         int lcount;          int lcount;
         char buf[16];          char buf[16];
         mode_t mode = 0444;          mode_t mode = 0444;
Line 232 
Line 234 
         struct rcs_lock *lkp;          struct rcs_lock *lkp;
         char *content, msg[128], *fdate;          char *content, msg[128], *fdate;
         time_t rcsdate, givendate;          time_t rcsdate, givendate;
           RCSNUM *rev;
   
         rcsdate = givendate = -1;          rcsdate = givendate = -1;
         if (date != NULL)          if (date != NULL)
                 givendate = cvs_date_parse(date);                  givendate = cvs_date_parse(date);
   
         /* Check out the latest revision if <frev> is greater than HEAD */          /* XXX rcsnum_cmp()
         if (rcsnum_cmp(frev, file->rf_head, 0) == -1)           * Check out the latest revision if <frev> is greater than HEAD
                 frev = file->rf_head;           */
           for (i = 0; i < file->rf_head->rn_len; i++) {
                   if (file->rf_head->rn_id[i] < frev->rn_id[i]) {
                           frev = file->rf_head;
                           break;
                   }
           }
   
         lcount = 0;          lcount = 0;
         TAILQ_FOREACH(lkp, &(file->rf_locks), rl_list) {          TAILQ_FOREACH(lkp, &(file->rf_locks), rl_list) {
Line 290 
Line 299 
                 return (-1);                  return (-1);
         }          }
   
         rcsnum_tostr(frev, buf, sizeof(buf));          rev = rdp->rd_num;
           rcsnum_tostr(rev, buf, sizeof(buf));
   
         if (rdp->rd_locker != NULL) {          if (rdp->rd_locker != NULL) {
                 if (strcmp(lockname, rdp->rd_locker)) {                  if (strcmp(lockname, rdp->rd_locker)) {
Line 307 
Line 317 
                 printf("revision %s", buf);                  printf("revision %s", buf);
   
   
         if ((bp = rcs_getrev(file, frev)) == NULL) {          if ((bp = rcs_getrev(file, rev)) == NULL) {
                 cvs_log(LP_ERR, "cannot find revision `%s'", buf);                  cvs_log(LP_ERR, "cannot find revision `%s'", buf);
                 return (-1);                  return (-1);
         }          }
   
         /*          /*
          * Do keyword expansion if required.           * Do keyword expansion if required.
          */           */
         bp = rcs_kwexp_buf(bp, file, frev);          bp = rcs_kwexp_buf(bp, file, rev);
   
         /*          /*
          * File inherits permissions from its ,v file           * File inherits permissions from its ,v file
Line 326 
Line 337 
   
         if (flags & CO_LOCK) {          if (flags & CO_LOCK) {
                 if ((lockname != NULL)                  if ((lockname != NULL)
                     && (rcs_lock_add(file, lockname, frev) < 0)) {                      && (rcs_lock_add(file, lockname, rev) < 0)) {
                         if (rcs_errno != RCS_ERR_DUPENT)                          if (rcs_errno != RCS_ERR_DUPENT)
                                 return (-1);                                  return (-1);
                 }                  }
Line 338 
Line 349 
                 if ((verbose == 1) && !(flags & NEWFILE))                  if ((verbose == 1) && !(flags & NEWFILE))
                         printf(" (locked)");                          printf(" (locked)");
         } else if (flags & CO_UNLOCK) {          } else if (flags & CO_UNLOCK) {
                 if (rcs_lock_remove(file, lockname, frev) < 0) {                  if (rcs_lock_remove(file, lockname, rev) < 0) {
                         if (rcs_errno != RCS_ERR_NOENT)                          if (rcs_errno != RCS_ERR_NOENT)
                                 return (-1);                                  return (-1);
                 }                  }
Line 406 
Line 417 
                 if (flags & CO_REVDATE) {                  if (flags & CO_REVDATE) {
                         struct timeval tv[2];                          struct timeval tv[2];
                         memset(&tv, 0, sizeof(tv));                          memset(&tv, 0, sizeof(tv));
                         tv[0].tv_sec = (long)rcs_rev_getdate(file, frev);                          tv[0].tv_sec = (long)rcs_rev_getdate(file, rev);
                         tv[1].tv_sec = tv[0].tv_sec;                          tv[1].tv_sec = tv[0].tv_sec;
                         if (utimes(dst, (const struct timeval *)&tv) < 0)                          if (utimes(dst, (const struct timeval *)&tv) < 0)
                                 cvs_log(LP_ERRNO, "error setting utimes");                                  cvs_log(LP_ERRNO, "error setting utimes");

Legend:
Removed from v.1.68  
changed lines
  Added in v.1.69