@ -839,8 +839,12 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # TODO(maruel): safesync. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . gclient ( [ ' config ' ,  self . git_base  +  ' repo_1 ' ,  ' --name ' ,  ' src ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Test unversioned checkout. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                      [ ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo_renamed ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # add sync parsing to get the list of updated files. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -856,10 +860,13 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Test incremental versioned sync: sync backward. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    diffdir  =  os . path . join ( self . root_dir ,  ' src ' ,  ' repo2 ' ,  ' repo_renamed ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --jobs ' ,  ' 1 ' ,  ' --revision ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                       ' src@ '  +  self . githash ( ' repo_1 ' ,  1 ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                       ' --deps ' ,  ' mac ' ,  ' --delete_unversioned_trees ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                       [ ' running ' ,  ' running ' ,  ( ' running ' ,  diffdir ) ,  ' deleting ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --jobs ' ,  ' 1 ' ,  ' --revision ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ' src@ '  +  self . githash ( ' repo_1 ' ,  1 ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ' --deps ' ,  ' mac ' ,  ' --delete_unversioned_trees ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo3 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo4 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ( ' running ' ,  diffdir ) ,  ' deleting ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@1 ' ,  ' src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@2 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@1 ' ,  ' src/repo2/repo3 ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -869,8 +876,10 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Test incremental sync: delete-unversioned_trees isn't there. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    expect3  =  ( ' running ' ,  os . path . join ( self . root_dir ,  ' src ' ,  ' repo2 ' ,  ' repo3 ' ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    expect4  =  ( ' running ' ,  os . path . join ( self . root_dir ,  ' src ' ,  ' repo4 ' ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ' running ' ,  ' running ' ,  expect3 ,  expect4 ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo_renamed ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  expect3 ,  expect4 ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@1 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@1 ' ,  ' src/repo2/repo3 ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -888,9 +897,12 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' --revision ' ,  ' invalid@ '  +  self . githash ( ' repo_1 ' ,  1 ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo_renamed ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ' Please fix your script, having invalid --revision flags  ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            ' will soon considered an error. \n ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ' will soon considered an error. \n ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@1 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@2 ' ,  ' src/repo2/repo_renamed ' ) ) 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -903,9 +915,13 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      return 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # When no solution name is provided, gclient uses the first solution listed. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . gclient ( [ ' config ' ,  self . git_base  +  ' repo_1 ' ,  ' --name ' ,  ' src ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                       ' --revision ' ,  self . githash ( ' repo_1 ' ,  1 ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                      [ ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' --revision ' ,  self . githash ( ' repo_1 ' ,  1 ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo3 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo4 ' ) ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@1 ' ,  ' src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@2 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@1 ' ,  ' src/repo2/repo3 ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -918,9 +934,13 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # TODO(maruel): safesync. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . gclient ( [ ' config ' ,  self . git_base  +  ' repo_1 ' ,  ' --name ' ,  ' src ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Test unversioned checkout. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 8 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                      [ ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                      untangle = True ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 8 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo_renamed ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        untangle = True ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # add sync parsing to get the list of updated files. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -940,7 +960,9 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --revision ' ,  ' src@ '  +  self . githash ( ' repo_1 ' ,  1 ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				          ' --deps ' ,  ' mac ' ,  ' --delete_unversioned_trees ' ,  ' --jobs ' ,  ' 8 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ' running ' ,  expect3 ,  ' deleting ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo4 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo3 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         expect3 ,  ' deleting ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        untangle = True ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@1 ' ,  ' src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@2 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -951,11 +973,11 @@ class GClientSmokeGIT(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Test incremental sync: delete-unversioned_trees isn't there. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    expect4  =  os . path . join ( self . root_dir ,  ' src ' ,  ' repo2 ' ,  ' repo3 ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    expect5  =  os . path . join ( self . root_dir ,  ' src ' ,  ' repo4 ' ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 8 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                      [ ' running ' ,  ' running ' ,  ' running '  , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                       ( ' running ' ,  expect4  ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                        ( ' running ' ,  expect5 ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                       untangle = True ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 8 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo_renamed ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  ( ' running ' ,  expect4 ) ,   ( ' running ' ,  expect5 ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        untangle = True ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@1 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@1 ' ,  ' src/repo2/repo3 ' ) , 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -1074,12 +1096,16 @@ class GClientSmokeBoth(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ' { " name " :  " src-git " , ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ' " url " :  " '  +  self . git_base  +  ' repo_1 " }] ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ' running ' ,  ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src-git ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         # This is due to the way svn update is called for a single 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         # file when File() is used in a DEPS file. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ( ' running ' ,  self . root_dir  +  ' /src/file/other ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ,  ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo_renamed ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  ' running ' ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src-git ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@1 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@2 ' ,  ' src/repo2/repo_renamed ' ) ) 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -1110,7 +1136,7 @@ class GClientSmokeBoth(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . checkString ( ' ' ,  stderr ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . assertEquals ( 0 ,  returncode ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    results  =  self . splitBlock ( stdout ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . assertEquals ( 1 2 ,  len ( results ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . assertEquals ( 1 5 ,  len ( results ) ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    tree  =  self . mangle_git_tree ( ( ' repo_1@2 ' ,  ' src-git ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_2@1 ' ,  ' src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                                ( ' repo_3@2 ' ,  ' src/repo2/repo_renamed ' ) ) 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -1137,8 +1163,12 @@ class GClientSmokeBoth(GClientSmokeBase):
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    self . parseGclient ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' sync ' ,  ' --deps ' ,  ' mac ' ,  ' --jobs ' ,  ' 1 ' ,  ' --revision ' ,  ' 1 ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' -r ' ,  ' src-git@ '  +  self . githash ( ' repo_1 ' ,  1 ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' ,  ' running ' ,  ' running ' ,  ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  ' running ' ,  ' running ' ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        [ ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src-git ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ' running ' ,  ' running ' , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo2/repo3 ' ) , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				         ' running ' ,  ( ' running ' ,  self . root_dir  +  ' /src/repo4 ' ) ] , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        expected_stderr = 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            ' You must specify the full solution name like --revision src@1 \n ' 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            ' when you have multiple solutions setup in your .gclient file. \n '