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

Diff for /src/usr.bin/cvs/update.c between version 1.123 and 1.124

version 1.123, 2008/02/09 11:40:43 version 1.124, 2008/02/09 12:20:33
Line 29 
Line 29 
 int     prune_dirs = 0;  int     prune_dirs = 0;
 int     print_stdout = 0;  int     print_stdout = 0;
 int     build_dirs = 0;  int     build_dirs = 0;
 int     reset_stickies = 0;  int     reset_option = 0;
   int     reset_tag = 0;
 char *cvs_specified_tag = NULL;  char *cvs_specified_tag = NULL;
   
 static char *koptstr;  static char *koptstr;
   static int Aflag = 0;
   
 static void update_clear_conflict(struct cvs_file *);  static void update_clear_conflict(struct cvs_file *);
   
Line 60 
Line 62 
         while ((ch = getopt(argc, argv, cvs_cmd_update.cmd_opts)) != -1) {          while ((ch = getopt(argc, argv, cvs_cmd_update.cmd_opts)) != -1) {
                 switch (ch) {                  switch (ch) {
                 case 'A':                  case 'A':
                         reset_stickies = 1;                          Aflag = 1;
                           if (koptstr == NULL)
                                   reset_option = 1;
                           if (cvs_specified_tag == NULL)
                                   reset_tag = 1;
                         break;                          break;
                 case 'C':                  case 'C':
                 case 'D':                  case 'D':
Line 76 
Line 82 
                 case 'j':                  case 'j':
                         break;                          break;
                 case 'k':                  case 'k':
                           reset_option = 0;
                         koptstr = optarg;                          koptstr = optarg;
                         kflag = rcs_kflag_get(koptstr);                          kflag = rcs_kflag_get(koptstr);
                         if (RCS_KWEXP_INVAL(kflag)) {                          if (RCS_KWEXP_INVAL(kflag)) {
Line 101 
Line 108 
                         flags |= CR_RECURSE_DIRS;                          flags |= CR_RECURSE_DIRS;
                         break;                          break;
                 case 'r':                  case 'r':
                           reset_tag = 0;
                         cvs_specified_tag = optarg;                          cvs_specified_tag = optarg;
                         break;                          break;
                 case 'u':                  case 'u':
Line 120 
Line 128 
                 flags |= CR_REPO;                  flags |= CR_REPO;
         } else {          } else {
                 cvs_client_connect_to_server();                  cvs_client_connect_to_server();
                 if (reset_stickies)                  if (Aflag)
                         cvs_client_send_request("Argument -A");                          cvs_client_send_request("Argument -A");
                 if (build_dirs)                  if (build_dirs)
                         cvs_client_send_request("Argument -d");                          cvs_client_send_request("Argument -d");
Line 186 
Line 194 
         } else if ((cf->file_status == DIR_CREATE && build_dirs == 0) ||          } else if ((cf->file_status == DIR_CREATE && build_dirs == 0) ||
                     cf->file_status == FILE_UNKNOWN) {                      cf->file_status == FILE_UNKNOWN) {
                 cf->file_status = FILE_SKIP;                  cf->file_status = FILE_SKIP;
         } else if (reset_stickies == 1) {          } else if (reset_tag) {
                 (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s",                  (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s",
                     cf->file_path, CVS_PATH_TAG);                      cf->file_path, CVS_PATH_TAG);
                 (void)unlink(fpath);                  (void)unlink(fpath);
Line 323 
Line 331 
   
         if ((cf->file_status == FILE_UPTODATE ||          if ((cf->file_status == FILE_UPTODATE ||
             cf->file_status == FILE_MODIFIED) && cf->file_ent != NULL &&              cf->file_status == FILE_MODIFIED) && cf->file_ent != NULL &&
             cf->file_ent->ce_tag != NULL && reset_stickies == 1) {              cf->file_ent->ce_tag != NULL && reset_tag) {
                 if (cf->file_status == FILE_MODIFIED)                  if (cf->file_status == FILE_MODIFIED)
                         cf->file_status = FILE_MERGE;                          cf->file_status = FILE_MERGE;
                 else                  else
Line 361 
Line 369 
   
                                 if (strcmp(kbuf, cf->file_ent->ce_opts))                                  if (strcmp(kbuf, cf->file_ent->ce_opts))
                                         cf->file_status = FILE_CHECKOUT;                                          cf->file_status = FILE_CHECKOUT;
                         } else if (reset_stickies)                          } else if (reset_option)
                                 cf->file_status = FILE_CHECKOUT;                                  cf->file_status = FILE_CHECKOUT;
                 }                  }
         }          }
Line 392 
Line 400 
         case FILE_LOST:          case FILE_LOST:
         case FILE_CHECKOUT:          case FILE_CHECKOUT:
         case FILE_PATCH:          case FILE_PATCH:
                 if ((tag != NULL && reset_stickies != 1) ||                  if ((tag != NULL && !reset_tag) ||
                     (((cf->file_ent != NULL) && cf->file_ent->ce_tag != NULL) &&                      (((cf->file_ent != NULL) && cf->file_ent->ce_tag != NULL) &&
                     (reset_stickies != 1)))                      !reset_tag))
                         flags = CO_SETSTICKY;                          flags = CO_SETSTICKY;
   
                 cvs_checkout_file(cf, cf->file_rcsrev, tag, flags);                  cvs_checkout_file(cf, cf->file_rcsrev, tag, flags);

Legend:
Removed from v.1.123  
changed lines
  Added in v.1.124