@ -882,12 +882,16 @@ solutions = [
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  LoadCurrentConfig ( options ) : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    """ Searches for and loads a .gclient file relative to the current working 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    dir .  Returns  a  GClient  object . """ 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    path  =  gclient_utils . FindGclientRoot ( os . getcwd ( ) ,  options . config_filename ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  not  path : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      return  None 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    client  =  GClient ( path ,  options ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    client . SetConfig ( gclient_utils . FileRead ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        os . path . join ( path ,  options . config_filename ) ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  options . spec : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      client  =  GClient ( ' . ' ,  options ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      client . SetConfig ( options . spec ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    else : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      path  =  gclient_utils . FindGclientRoot ( os . getcwd ( ) ,  options . config_filename ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      if  not  path : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        return  None 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      client  =  GClient ( path ,  options ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      client . SetConfig ( gclient_utils . FileRead ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				          os . path . join ( path ,  options . config_filename ) ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  ( options . revisions  and 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        len ( client . dependencies )  >  1  and 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -1221,10 +1225,15 @@ modules to operate on as well. If optional [url] parameter is
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				provided ,  then  configuration  is  read  from  a  specified  Subversion  server 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				URL . 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				""" 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --spec ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' create a gclient file containing the provided  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                         ' string. Due to Cygwin/Python brokenness, it  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                         ' probably can \' t contain any newlines. ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # We do a little dance with the --gclientfile option.  'gclient config' is the 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # only command where it's acceptable to have both '--gclientfile' and '--spec' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # arguments.  So, we temporarily stash any --gclientfile parameter into 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # options.output_config_file until after the (gclientfile xor spec) error 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # check. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . remove_option ( ' --gclientfile ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --gclientfile ' ,  dest = ' output_config_file ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' Specify an alternate .gclient file ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --name ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' overrides the default name for the solution ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --deps-file ' ,  default = ' DEPS ' , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -1237,7 +1246,10 @@ URL.
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                         ' will never sync them) ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --git-deps ' ,  action = ' store_true ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' sets the deps file to  " .DEPS.git "  instead of  " DEPS " ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . set_defaults ( config_filename = None ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  ( options ,  args )  =  parser . parse_args ( args ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  if  options . output_config_file : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    setattr ( options ,  ' config_filename ' ,  getattr ( options ,  ' output_config_file ' ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  if  ( ( options . spec  and  args )  or  len ( args )  >  2  or 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ( not  options . spec  and  not  args ) ) : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    parser . error ( ' Inconsistent arguments. Use either --spec or one or 2 args ' ) 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -1520,6 +1532,7 @@ def Parser():
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    jobs  =  1 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  else : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    jobs  =  8 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  gclientfile_default  =  os . environ . get ( ' GCLIENT_FILE ' ,  ' .gclient ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' -j ' ,  ' --jobs ' ,  default = jobs ,  type = ' int ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' Specify how many SCM commands can run in parallel;  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                          ' default= %d efault ' ) 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -1527,8 +1540,13 @@ def Parser():
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' Produces additional output for diagnostics. Can be  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                          ' used up to three times for more logging info. ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --gclientfile ' ,  dest = ' config_filename ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    default = os . environ . get ( ' GCLIENT_FILE ' ,  ' .gclient ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' Specify an alternate  %d efault file ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    default = None , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' Specify an alternate  %s  file '  %  gclientfile_default ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  parser . add_option ( ' --spec ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    default = None , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    help = ' create a gclient file containing the provided  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                         ' string. Due to Cygwin/Python brokenness, it  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                         ' probably can \' t contain any newlines. ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # Integrate standard options processing. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  old_parser  =  parser . parse_args 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  Parse ( args ) : 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -1537,6 +1555,10 @@ def Parser():
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        min ( options . verbose ,  3 ) ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logging . basicConfig ( level = level , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        format = ' %(module)s ( %(lineno)d )  %(funcName)s : %(message)s ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  options . config_filename  and  options . spec : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      parser . error ( ' Cannot specifiy both --gclientfile and --spec ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  not  options . config_filename : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      options . config_filename  =  gclientfile_default 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    options . entries_filename  =  options . config_filename  +  ' _entries ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  options . jobs  <  1 : 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      parser . error ( ' --jobs must be 1 or higher ' )