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

Diff for /src/usr.bin/cvs/checkout.c between version 1.71 and 1.72

version 1.71, 2007/01/12 23:56:11 version 1.72, 2007/01/13 15:29:34
Line 24 
Line 24 
   
 int     cvs_checkout(int, char **);  int     cvs_checkout(int, char **);
 int     cvs_export(int, char **);  int     cvs_export(int, char **);
   
 static void checkout_check_repository(int, char **);  static void checkout_check_repository(int, char **);
 static void checkout_repository(const char *, const char *);  static void checkout_repository(const char *, const char *);
   static void checkout_write_revision(RCSFILE *, RCSNUM *, char *);
   
 extern int prune_dirs;  extern int prune_dirs;
 extern int build_dirs;  extern int build_dirs;
Line 166 
Line 168 
         time_t rcstime;          time_t rcstime;
         CVSENTRIES *ent;          CVSENTRIES *ent;
         struct timeval tv[2];          struct timeval tv[2];
         char *p, *entry, rev[16], timebuf[64], tbuf[32], stickytag[32];          char *template, *p, *entry, rev[16], timebuf[64];
           char tbuf[32], stickytag[32];
   
         rcsnum_tostr(rnum, rev, sizeof(rev));          rcsnum_tostr(rnum, rev, sizeof(rev));
   
Line 264 
Line 267 
                 cvs_remote_output(entry);                  cvs_remote_output(entry);
   
                 if (!(flags & CO_COMMIT)) {                  if (!(flags & CO_COMMIT)) {
 #if 0                          (void)xasprintf(&template,
                         cvs_remote_output("u=rw,g=rw,o=rw");                              "%s/checkout.XXXXXXXXXX", cvs_tmpdir);
   
                         /* XXX */                          /* XXX - fd race below */
                         printf("%ld\n", cvs_buf_len(nbp));                          checkout_write_revision(cf->file_rcs, rnum, template);
                           cvs_remote_send_file(template);
                         if (cvs_buf_write_fd(nbp, STDOUT_FILENO) == -1)                          (void)unlink(template);
                                 fatal("cvs_checkout_file: failed to send file");  
                         cvs_buf_free(nbp);  
 #endif  
                 }                  }
   
                 if (p != NULL)                  if (p != NULL)
Line 281 
Line 281 
         }          }
   
         xfree(entry);          xfree(entry);
   }
   
   static void
   checkout_write_revision(RCSFILE *rfp, RCSNUM *rev, char *template)
   {
           int fd;
   
           if ((fd = mkstemp(template)) == -1)
                   fatal("mkstemp: '%s': %s", template, strerror(errno));
   
           cvs_worklist_add(template, &temp_files);
           rcs_rev_write_fd(rfp, rev, fd, 0);
           (void)close(fd);
 }  }

Legend:
Removed from v.1.71  
changed lines
  Added in v.1.72