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

Diff for /src/usr.bin/cvs/import.c between version 1.63 and 1.64

version 1.63, 2007/01/14 23:10:56 version 1.64, 2007/01/18 16:45:52
Line 20 
Line 20 
 #include "cvs.h"  #include "cvs.h"
 #include "diff.h"  #include "diff.h"
 #include "log.h"  #include "log.h"
   #include "remote.h"
   
 int     cvs_import(int, char **);  int     cvs_import(int, char **);
 void    cvs_import_local(struct cvs_file *);  void    cvs_import_local(struct cvs_file *);
Line 91 
Line 92 
         vendor_tag = argv[1];          vendor_tag = argv[1];
         release_tag = argv[2];          release_tag = argv[2];
   
           if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) {
                   cvs_client_connect_to_server();
   
                   cvs_client_send_request("Argument -b%s", IMPORT_DEFAULT_BRANCH);
                   cvs_client_send_request("Argument -m%s", logmsg);
                   cvs_client_send_request("Argument %s", import_repository);
                   cvs_client_send_request("Argument %s", vendor_tag);
                   cvs_client_send_request("Argument %s", release_tag);
   
                   cr.enterdir = NULL;
                   cr.leavedir = NULL;
                   cr.fileproc = cvs_client_sendfile;
                   cr.flags = CR_RECURSE_DIRS;
   
                   cvs_file_run(1, &arg, &cr);
                   cvs_client_senddir(".");
                   cvs_client_send_request("import");
   
                   cvs_client_get_responses();
                   return (0);
           }
   
         if (cvs_path_cat(current_cvsroot->cr_dir, import_repository,          if (cvs_path_cat(current_cvsroot->cr_dir, import_repository,
             repo, sizeof(repo)) >= sizeof(repo))              repo, sizeof(repo)) >= sizeof(repo))
                 fatal("cvs_import: truncation");                  fatal("cvs_import: truncation");
Line 197 
Line 220 
         if ((bp = cvs_buf_load_fd(cf->fd, BUF_AUTOEXT)) == NULL)          if ((bp = cvs_buf_load_fd(cf->fd, BUF_AUTOEXT)) == NULL)
                 fatal("import_new: failed to load %s", cf->file_path);                  fatal("import_new: failed to load %s", cf->file_path);
   
         cvs_buf_putc(bp, '\0');  
   
         if ((brev = rcsnum_brtorev(branch)) == NULL)          if ((brev = rcsnum_brtorev(branch)) == NULL)
                 fatal("import_new: failed to get first branch revision");                  fatal("import_new: failed to get first branch revision");
   
Line 247 
Line 268 
 static void  static void
 import_update(struct cvs_file *cf)  import_update(struct cvs_file *cf)
 {  {
           int ret;
         BUF *b1, *b2, *d;          BUF *b1, *b2, *d;
         char branch[16];          char branch[16];
         RCSNUM *newrev, *rev, *brev;          RCSNUM *newrev, *rev, *brev, *hrev;
   
         cvs_log(LP_TRACE, "import_update(%s)", cf->file_path);          cvs_log(LP_TRACE, "import_update(%s)", cf->file_path);
   
Line 266 
Line 288 
                         fatal("import_update: failed to load %s",                          fatal("import_update: failed to load %s",
                             cf->file_path);                              cf->file_path);
   
                 if (cvs_buf_differ(b1, b2) == 0) {                  ret = cvs_buf_differ(b1, b2);
                   if (ret == 0) {
                         import_tag(cf, brev, rev);                          import_tag(cf, brev, rev);
                         cvs_printf("U %s/%s\n", import_repository,  
                             cf->file_path);  
                         rcsnum_free(rev);  
                         rcsnum_free(brev);                          rcsnum_free(brev);
                         rcs_write(cf->file_rcs);                          rcs_write(cf->file_rcs);
                         return;                          return;
Line 284 
Line 304 
                 d = import_get_rcsdiff(cf, rev);                  d = import_get_rcsdiff(cf, rev);
                 newrev = rcsnum_inc(rev);                  newrev = rcsnum_inc(rev);
         } else {          } else {
                 d = import_get_rcsdiff(cf, rcs_head_get(cf->file_rcs));                  hrev = rcs_head_get(cf->file_rcs);
                   d = import_get_rcsdiff(cf, hrev);
                   rcsnum_free(hrev);
                 newrev = rcsnum_brtorev(brev);                  newrev = rcsnum_brtorev(brev);
         }          }
   
Line 294 
Line 316 
         if (rcs_deltatext_set(cf->file_rcs, newrev, d) == -1)          if (rcs_deltatext_set(cf->file_rcs, newrev, d) == -1)
                 fatal("import_update: failed to set deltatext");                  fatal("import_update: failed to set deltatext");
   
         cvs_buf_free(d);  
         import_tag(cf, brev, newrev);          import_tag(cf, brev, newrev);
   
         if (cf->file_rcs->rf_branch == NULL || cf->file_rcs->rf_inattic == 1 ||          if (cf->file_rcs->rf_branch == NULL || cf->file_rcs->rf_inattic == 1 ||
Line 305 
Line 326 
                 cvs_printf("U %s/%s\n", import_repository, cf->file_path);                  cvs_printf("U %s/%s\n", import_repository, cf->file_path);
         }          }
   
         if (rev != NULL)  
                 rcsnum_free(rev);  
         rcsnum_free(brev);          rcsnum_free(brev);
   
         rcs_write(cf->file_rcs);          rcs_write(cf->file_rcs);
 }  }
   
Line 332 
Line 350 
         char *p1, *p2;          char *p1, *p2;
         BUF *b1, *b2;          BUF *b1, *b2;
   
         if ((b1 = cvs_buf_load_fd(cf->fd, BUF_AUTOEXT)) == NULL)  
                 fatal("import_get_rcsdiff: failed loading %s", cf->file_path);  
   
         b2 = cvs_buf_alloc(128, BUF_AUTOEXT);          b2 = cvs_buf_alloc(128, BUF_AUTOEXT);
   
         if (cvs_noexec != 1) {          if (cvs_noexec != 1) {
                   if ((b1 = cvs_buf_load_fd(cf->fd, BUF_AUTOEXT)) == NULL)
                           fatal("import_get_rcsdiff: failed loading %s",
                               cf->file_path);
   
                 (void)xasprintf(&p1, "%s/diff1.XXXXXXXXXX", cvs_tmpdir);                  (void)xasprintf(&p1, "%s/diff1.XXXXXXXXXX", cvs_tmpdir);
                 cvs_buf_write_stmp(b1, p1, NULL);                  cvs_buf_write_stmp(b1, p1, NULL);
                 cvs_buf_free(b1);                  cvs_buf_free(b1);
Line 352 
Line 371 
                 (void)unlink(p1);                  (void)unlink(p1);
                 (void)unlink(p2);                  (void)unlink(p2);
   
                 if (p1 != NULL)                  xfree(p1);
                         xfree(p1);                  xfree(p2);
                 if (p2 != NULL)  
                         xfree(p2);  
         }          }
   
         if (b1 != NULL)  
                 cvs_buf_free(b1);  
   
         return (b2);          return (b2);
 }  }

Legend:
Removed from v.1.63  
changed lines
  Added in v.1.64