diff options
Diffstat (limited to 'git-difftool.perl')
-rwxr-xr-x | git-difftool.perl | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/git-difftool.perl b/git-difftool.perl index 948ff7f6f..ba5e60a45 100755 --- a/git-difftool.perl +++ b/git-difftool.perl @@ -82,4 +82,11 @@ sub generate_command } setup_environment(); -exec(generate_command()); + +# ActiveState Perl for Win32 does not implement POSIX semantics of +# exec* system call. It just spawns the given executable and finishes +# the starting program, exiting with code 0. +# system will at least catch the errors returned by git diff, +# allowing the caller of git difftool better handling of failures. +my $rc = system(generate_command()); +exit($rc | ($rc >> 8)); |