| 
					
				 | 
			
			
				@@ -64,6 +64,7 @@ GetOptions( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'view', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'reset-from-master', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'reset-from-upstream', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	'upstream-url=s', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'commit-msg=s', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'dump-config', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	'configure-local-user', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,8 +94,10 @@ Usage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	--reset-from-master 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Reset all current changes so that the file tree matches upstream/master 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	--reset-from-upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	--reset-from-upstream [ --upstream-url ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	If upstream is defined will reset local branch to match upstream ( does not push changes by default ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		* Assumes you have an upstream configured 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		* Pass SSH/HTTPS URL to --upstream-url to add an upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	--configure-local-user [--user,--email] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Configure local git user 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -165,9 +168,20 @@ sub parseArgs { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ( defined $args{'reset-from-upstream'} && scalar keys %args > 1 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		print "Cannot call --reset-from-upstream with any other args\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		exit 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( defined $args{'reset-from-upstream'} ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ( scalar keys %args > 2  ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			print "Can only pass --upstream-url with --reset-from-upstream\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			exit 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		foreach my $arg ( keys %args ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ( $arg eq "reset-from-upstream" || $arg eq "upstream-url" ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				next; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				print "Can only pass --upstream-url with --reset-from-upstream\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				exit 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -316,8 +330,15 @@ if ( defined $args{'reset-from-master'} ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if ( defined $args{'reset-from-upstream'} ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	resetFromUpstream($logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( defined $args{'upstream-url'} ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		print "Setting upstream to $args{'upstream-url'}\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		chomp $args{'upstream-url'}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		shellex("$gitCmd remote add upstream $args{'upstream-url'}",$logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		shellex("$gitCmd fetch upstream",$logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		resetFromUpstream($logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		resetFromUpstream($logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if ( defined $args{'dump-config'} ) { 
			 |