Code

Wait for git diff to finish in git difftool
authorAlex Riesen <raa.lkml@gmail.com>
Wed, 22 Apr 2009 07:27:22 +0000 (09:27 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Apr 2009 01:39:21 +0000 (18:39 -0700)
In ActivetState Perl, exec does not wait for the started program. This
breaks difftool tests and may cause unexpected behaviour: git difftool
has returned, but the rest of code (diff and possibly the interactive
program are still running in the background.

Acked-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-difftool.perl

index 948ff7f6fd2dacc41f10b2b92f6ad752001ea3be..bd828c2a6f9f596ada637bc37afabe97bbb47e26 100755 (executable)
@@ -82,4 +82,5 @@ sub generate_command
 }
 
 setup_environment();
-exec(generate_command());
+my $rc = system(generate_command());
+exit($rc | ($rc >> 8));