Hack git-add--interactive to make it work with ActiveState Perl
It wont work for arguments with special characters (like ", : or *). It is generally not possible on Windows, so I didn't even try. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		 Alex Riesen
					Alex Riesen
				
			
				
					committed by
					
						 Junio C Hamano
						Junio C Hamano
					
				
			
			
				
	
			
			
			 Junio C Hamano
						Junio C Hamano
					
				
			
						parent
						
							96ffe892e3
						
					
				
				
					commit
					21e9757e31
				
			| @ -3,10 +3,17 @@ | ||||
| use strict; | ||||
|  | ||||
| sub run_cmd_pipe { | ||||
| 	if ($^O eq 'MSWin32') { | ||||
| 		my @invalid = grep {m/[":*]/} @_; | ||||
| 		die "$^O does not support: @invalid\n" if @invalid; | ||||
| 		my @args = map { m/ /o ? "\"$_\"": $_ } @_; | ||||
| 		return qx{@args}; | ||||
| 	} else { | ||||
| 		my $fh = undef; | ||||
| 		open($fh, '-|', @_) or die; | ||||
| 		return <$fh>; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| my ($GIT_DIR) = run_cmd_pipe(qw(git rev-parse --git-dir)); | ||||
|  | ||||
| @ -17,7 +24,7 @@ chomp($GIT_DIR); | ||||
|  | ||||
| sub refresh { | ||||
| 	my $fh; | ||||
| 	open $fh, '-|', qw(git update-index --refresh) | ||||
| 	open $fh, 'git update-index --refresh |' | ||||
| 	    or die; | ||||
| 	while (<$fh>) { | ||||
| 		;# ignore 'needs update' | ||||
| @ -296,7 +303,7 @@ sub revert_cmd { | ||||
| 		my @lines = run_cmd_pipe(qw(git ls-tree HEAD --), | ||||
| 					 map { $_->{VALUE} } @update); | ||||
| 		my $fh; | ||||
| 		open $fh, '|-', qw(git update-index --index-info) | ||||
| 		open $fh, '| git update-index --index-info' | ||||
| 		    or die; | ||||
| 		for (@lines) { | ||||
| 			print $fh $_; | ||||
| @ -725,7 +732,7 @@ sub patch_update_cmd { | ||||
| 	if (@result) { | ||||
| 		my $fh; | ||||
|  | ||||
| 		open $fh, '|-', qw(git apply --cached); | ||||
| 		open $fh, '| git apply --cached'; | ||||
| 		for (@{$head->{TEXT}}, @result) { | ||||
| 			print $fh $_; | ||||
| 		} | ||||
|  | ||||
		Reference in New Issue
	
	Block a user