| 
														
															@@ -26,47 +26,48 @@ sub readConfig { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	my $gitConfigPath = $path . "/" . ".git/config"; 
														 | 
														
														 | 
														
															 	my $gitConfigPath = $path . "/" . ".git/config"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	my $catCmd = findBin("cat",$logger); 
														 | 
														
														 | 
														
															 	my $catCmd = findBin("cat",$logger); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	my @configLines = split("\n",shellex("$catCmd $gitConfigPath",$logger)); 
														 | 
														
														 | 
														
															 	my @configLines = split("\n",shellex("$catCmd $gitConfigPath",$logger)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	# Key is config header, value is hash ref containing config values 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	my %gitConfig; 
														 | 
														
														 | 
														
															 	my %gitConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	my @valueLines; 
														 | 
														
														 | 
														
															 	my @valueLines; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	my $lineCounter = 0; 
														 | 
														
														 | 
														
															 	my $lineCounter = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	foreach my $line ( @configLines ) { 
														 | 
														
														 | 
														
															 	foreach my $line ( @configLines ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		$lineCounter++; 
														 | 
														
														 | 
														
															 		$lineCounter++; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		#if ( $line =~ m/\[(.*)\]/ ) { 
														 | 
														
														 | 
														
															 		#if ( $line =~ m/\[(.*)\]/ ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if ( $line =~ m/(\[.*\])/ ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if ( $line =~ m/\[(.*)\]/ ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			#$valueLine =~ /\t(.*)\ =\ (.*)$/; 
														 | 
														
														 | 
														
															 			#$valueLine =~ /\t(.*)\ =\ (.*)$/; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			$gitConfig{$1} = $lineCounter; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			$gitConfig{$1} = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	my $wcBin = findBin("wc",$logger); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	# TODO: Clean shell call up 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	my $lastLine = shellex("$wcBin -l $gitConfigPath | awk '{print \$1}'",$logger); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	chomp $lastLine; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	my @lineRange = values %gitConfig; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	push(@lineRange, $lastLine); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	my @sortedRange = sort { $a <=> $b } @lineRange; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	my $prevVal; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	foreach my $val ( @sortedRange ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		my @stash; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		print "Val is $val\n"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if ( ! defined $prevVal ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			$prevVal = $val; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			next; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	# Tag each line with it's heading 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	# Only way I could think of that worked to solve how this 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	# There are almost certainly better ways 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	# TODO 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	my @taggedLines; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	my $tag = "NULLTAG"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	foreach my $line ( @configLines ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if ( $line =~ m/\[(.*)\]/ ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			$tag = $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} else { 
														 | 
														
														 | 
														
															 		} else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			print "Current var is $val and prevVar $prevVal\n"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			my $lineDiff = ( $prevVal + 1 ) . "-" . ( $val - 1 ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			my $lineCounter = 0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			foreach my $line ( @configLines ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				$lineCounter++; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				#if ( $lineCounter >= ( $prevVal + 1 ) && $lineCounter <= ( $val - 1 ) ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if ( $lineCounter >= $prevVal && $lineCounter <= $val ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					print "$line\n"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			my $newLine = $tag . $line; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			push(@taggedLines,$newLine); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	# Get all of the tagged lines into a hash structure. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	foreach my $key ( keys %gitConfig ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		my %stash; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		foreach my $tl ( @taggedLines ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if ( $tl =~ m/^($key)/ ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				$tl =~ s/^($key)//g; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				$tl =~ m/^\t(.*)\ \=\ (.*)$/; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				my $confKey = $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				my $confVal = $2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				$stash{$confKey} = $confVal; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			print "lineDiff of vals is: $lineDiff \n"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			$prevVal = $val; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		$gitConfig{$key} = \%stash; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return %gitConfig; 
														 | 
														
														 | 
														
															 	return %gitConfig; 
														 |