diff options
author | Eric Wong <normalperson@yhbt.net> | 2006-06-22 01:22:46 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-06-22 02:15:16 -0700 |
commit | ec9d00d078ed1625d8c85a25618dfa2aa8042b69 (patch) | |
tree | 26f7b8a9375cef6e3fc48fc7db6caea63c878aa3 /contrib | |
parent | bbc932c845ad17087ed601625f878adf5bae6e96 (diff) | |
download | git-ec9d00d078ed1625d8c85a25618dfa2aa8042b69.tar.gz git-ec9d00d078ed1625d8c85a25618dfa2aa8042b69.tar.xz |
git-svn: fix commit --edit flag when using SVN:: libraries
Trying to open an interactive editor in the console while stdout is
being piped to the parent process doesn't work out very well.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/git-svn/git-svn.perl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/contrib/git-svn/git-svn.perl b/contrib/git-svn/git-svn.perl index 7e7f2f0cd..08c30103f 100755 --- a/contrib/git-svn/git-svn.perl +++ b/contrib/git-svn/git-svn.perl @@ -479,17 +479,18 @@ sub commit_lib { my @lock = $SVN::Core::VERSION ge '1.2.0' ? (undef, 0) : (); my $commit_msg = "$GIT_SVN_DIR/.svn-commit.tmp.$$"; + if (defined $LC_ALL) { + $ENV{LC_ALL} = $LC_ALL; + } else { + delete $ENV{LC_ALL}; + } foreach my $c (@revs) { + my $log_msg = get_commit_message($c, $commit_msg); + # fork for each commit because there's a memory leak I # can't track down... (it's probably in the SVN code) defined(my $pid = open my $fh, '-|') or croak $!; if (!$pid) { - if (defined $LC_ALL) { - $ENV{LC_ALL} = $LC_ALL; - } else { - delete $ENV{LC_ALL}; - } - my $log_msg = get_commit_message($c, $commit_msg); my $ed = SVN::Git::Editor->new( { r => $r_last, ra => $SVN, @@ -535,6 +536,7 @@ sub commit_lib { ($r_last, $cmt_last) = ($r_new, $cmt_new); } } + $ENV{LC_ALL} = 'C'; unlink $commit_msg; } |