summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-06-22 08:22:46 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-06-22 09:15:16 (GMT)
commitec9d00d078ed1625d8c85a25618dfa2aa8042b69 (patch)
tree26f7b8a9375cef6e3fc48fc7db6caea63c878aa3
parentbbc932c845ad17087ed601625f878adf5bae6e96 (diff)
downloadgit-ec9d00d078ed1625d8c85a25618dfa2aa8042b69.zip
git-ec9d00d078ed1625d8c85a25618dfa2aa8042b69.tar.gz
git-ec9d00d078ed1625d8c85a25618dfa2aa8042b69.tar.bz2
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>
-rwxr-xr-xcontrib/git-svn/git-svn.perl14
1 files changed, 8 insertions, 6 deletions
diff --git a/contrib/git-svn/git-svn.perl b/contrib/git-svn/git-svn.perl
index 7e7f2f0..08c3010 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;
}