Code

Explain seemingly pointless use of system in difftool
[git.git] / git-difftool.perl
index bd828c2a6f9f596ada637bc37afabe97bbb47e26..ba5e60a45e2c4a8b54e6a58e656b3978dcb45633 100755 (executable)
@@ -82,5 +82,11 @@ sub generate_command
 }
 
 setup_environment();
+
+# 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));