[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.119 and 1.120

version 1.119, 2008/02/03 17:20:14 version 1.120, 2008/02/03 18:42:32
Line 39 
Line 39 
 extern int build_dirs;  extern int build_dirs;
   
 static int flags = CR_REPO | CR_RECURSE_DIRS;  static int flags = CR_REPO | CR_RECURSE_DIRS;
   static char *dflag = NULL;
   
 struct cvs_cmd cvs_cmd_checkout = {  struct cvs_cmd cvs_cmd_checkout = {
         CVS_OP_CHECKOUT, CVS_USE_WDIR, "checkout",          CVS_OP_CHECKOUT, CVS_USE_WDIR, "checkout",
Line 71 
Line 72 
                 case 'A':                  case 'A':
                         reset_stickies = 1;                          reset_stickies = 1;
                         break;                          break;
                   case 'd':
                           if (dflag != NULL)
                                   fatal("-d specified two or more times");
                           dflag = optarg;
                           break;
                 case 'l':                  case 'l':
                         flags &= ~CR_RECURSE_DIRS;                          flags &= ~CR_RECURSE_DIRS;
                         break;                          break;
Line 147 
Line 153 
 checkout_check_repository(int argc, char **argv)  checkout_check_repository(int argc, char **argv)
 {  {
         int i;          int i;
           char *wdir;
         char repo[MAXPATHLEN];          char repo[MAXPATHLEN];
         struct cvs_recursion cr;          struct cvs_recursion cr;
         struct module_checkout *mc;          struct module_checkout *mc;
Line 204 
Line 211 
                 (void)xsnprintf(repo, sizeof(repo), "%s/%s",                  (void)xsnprintf(repo, sizeof(repo), "%s/%s",
                     current_cvsroot->cr_dir, mc->mc_repo);                      current_cvsroot->cr_dir, mc->mc_repo);
   
                 if (!(mc->mc_flags & MODULE_ALIAS))                  if (!(mc->mc_flags & MODULE_ALIAS) || dflag != NULL)
                         module_repo_root = mc->mc_repo;                          module_repo_root = mc->mc_repo;
   
                   if (dflag != NULL)
                           wdir = dflag;
                   else
                           wdir = mc->mc_wdir;
   
                 switch (checkout_classify(repo, mc->mc_repo)) {                  switch (checkout_classify(repo, mc->mc_repo)) {
                 case CVS_FILE:                  case CVS_FILE:
                         cr.fileproc = cvs_update_local;                          cr.fileproc = cvs_update_local;
                         cr.flags = flags;                          cr.flags = flags;
   
                         if (build_dirs == 1)                          if (build_dirs == 1)
                                 cvs_mkpath(dirname(mc->mc_wdir),                                  cvs_mkpath(dirname(wdir),
                                     cvs_specified_tag);                                      cvs_specified_tag);
                         cvs_file_run(1, &(mc->mc_repo), &cr);                          cvs_file_run(1, &(mc->mc_repo), &cr);
                         break;                          break;
                 case CVS_DIR:                  case CVS_DIR:
                         if (build_dirs == 1)                          if (build_dirs == 1)
                                 cvs_mkpath(mc->mc_wdir, cvs_specified_tag);                                  cvs_mkpath(wdir, cvs_specified_tag);
                         checkout_repository(repo, mc->mc_wdir);                          checkout_repository(repo, wdir);
                         break;                          break;
                 default:                  default:
                         break;                          break;

Legend:
Removed from v.1.119  
changed lines
  Added in v.1.120