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

Diff for /src/usr.bin/cvs/admin.c between version 1.35 and 1.36

version 1.35, 2006/11/13 10:24:30 version 1.36, 2006/11/13 10:42:28
Line 43 
Line 43 
   
 static int       runflags = 0;  static int       runflags = 0;
 static int       lkmode = RCS_LOCK_INVAL;  static int       lkmode = RCS_LOCK_INVAL;
   static char     *alist = NULL;
 static char     *comment = NULL;  static char     *comment = NULL;
 static char     *elist = NULL;  static char     *elist = NULL;
   static char     *orange = NULL;
   
 int  int
 cvs_admin(int argc, char **argv)  cvs_admin(int argc, char **argv)
Line 60 
Line 62 
                 case 'A':                  case 'A':
                         break;                          break;
                 case 'a':                  case 'a':
                           alist = optarg;
                         break;                          break;
                 case 'b':                  case 'b':
                         break;                          break;
Line 90 
Line 93 
                 case 'n':                  case 'n':
                         break;                          break;
                 case 'o':                  case 'o':
                           orange = optarg;
                         break;                          break;
                 case 'q':                  case 'q':
                         verbosity = 0;                          verbosity = 0;
Line 124 
Line 128 
         if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) {          if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) {
                 cr.fileproc = cvs_client_sendfile;                  cr.fileproc = cvs_client_sendfile;
   
                   if (alist != NULL)
                           cvs_client_send_request("Argument -a%s", alist);
   
                 if (comment != NULL)                  if (comment != NULL)
                         cvs_client_send_request("Argument -c%s", comment);                          cvs_client_send_request("Argument -c%s", comment);
   
                   if (runflags & ADM_EFLAG)
                           cvs_client_send_request("Argument -e%s",
                               (elist != NULL) ? elist : "");
   
                 if (lkmode == RCS_LOCK_STRICT)                  if (lkmode == RCS_LOCK_STRICT)
                         cvs_client_send_request("Argument -L");                          cvs_client_send_request("Argument -L");
                 else if (lkmode == RCS_LOCK_LOOSE)                  else if (lkmode == RCS_LOCK_LOOSE)
                         cvs_client_send_request("Argument -U");                          cvs_client_send_request("Argument -U");
   
                   if (orange != NULL)
                           cvs_client_send_request("Argument -o%s", orange);
   
                 if (verbosity == 0)                  if (verbosity == 0)
                         cvs_client_send_request("Argument -q");                          cvs_client_send_request("Argument -q");
   
Line 177 
Line 191 
         if (verbosity > 0)          if (verbosity > 0)
                 cvs_printf("RCS file: %s\n", cf->file_path);                  cvs_printf("RCS file: %s\n", cf->file_path);
   
           if (alist != NULL) {
                   struct cvs_argvector *aargv;
   
                   aargv = cvs_strsplit(alist, ",");
                   for (i = 0; aargv->argv[i] != NULL; i++)
                           rcs_access_add(cf->file_rcs, aargv->argv[i]);
   
                   cvs_argv_destroy(aargv);
           }
   
         if (comment != NULL)          if (comment != NULL)
                 rcs_comment_set(cf->file_rcs, comment);                  rcs_comment_set(cf->file_rcs, comment);
   
Line 199 
Line 223 
                 }                  }
                 /* no synced anymore */                  /* no synced anymore */
                 cf->file_rcs->rf_flags &= ~RCS_SYNCED;                  cf->file_rcs->rf_flags &= ~RCS_SYNCED;
           }
   
           if (orange != NULL) {
                   struct rcs_delta *rdp, *nrdp;
                   char b[16];
   
                   cvs_revision_select(cf->file_rcs, orange);
                   for (rdp = TAILQ_FIRST(&(cf->file_rcs->rf_delta));
                       rdp != NULL; rdp = nrdp) {
                           nrdp = TAILQ_NEXT(rdp, rd_list);
   
                           /*
                            * Delete selected revisions.
                            */
                           if (rdp->rd_flags & RCS_RD_SELECT) {
                                   rcsnum_tostr(rdp->rd_num, b, sizeof(b));
                                   if (verbosity > 0)
                                           cvs_printf("deleting revision %s\n", b);
   
                                   (void)rcs_rev_remove(cf->file_rcs, rdp->rd_num);
                           }
                   }
         }          }
   
         if (lkmode != RCS_LOCK_INVAL)          if (lkmode != RCS_LOCK_INVAL)

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36