git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 10/23] contrib/buildsystems: redirect errors of the dry run into a log file

From
Philip Oakley via GitGitGadget <gitgitgadget@gmail.com>
Date
Jul 29, 2019, 20:08 UTC
Message-ID
<3cfbb7843ac3a27c79da4554cc550608b19f2d55.1564430879.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.287.v2.git.gitgitgadget@gmail.com>
From: Philip Oakley <philipoakley@iee.org>
Rather than swallowing the errors, it is better to have them in a file.

To make it obvious what this is about, use the file name 'msvc-build-makedryerrors.txt'.

Further, if the output is empty, simply delete that file. As we target Git for Windows' SDK (which, unlike its predecessor msysGit, offers Perl versions newer than 5.8), we can use the quite readable syntax `if -f -z $ErrsFile` (available in Perl >=5.10).

Note that the file will contain the new values of the GIT_VERSION and GITGUI_VERSION if they were generated by the make file. They are omitted if the release is tagged and indentically defined in their respective GIT_VERSION_GEN file DEF_VER variables.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 contrib/buildsystems/engine.pl | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl
index 9db3d43a1e..de5c0b6b25 100755
--- a/contrib/buildsystems/engine.pl
+++ b/contrib/buildsystems/engine.pl
@@ -73,7 +73,12 @@ sub showUsage
 EOM
 
 # Pipe a make --dry-run into a variable, if not already loaded from file
-@makedry = `cd $git_dir && make -n MSVC=1 V=1 2>/dev/null` if !@makedry;
+# Capture the make dry stderr to file for review (will be empty for a release build).
+
+my $ErrsFile = "msvc-build-makedryerrors.txt";
+@makedry = `make -C $git_dir -n MSVC=1 V=1 2>$ErrsFile` if !@makedry;
+# test for an empty Errors file and remove it
+unlink $ErrsFile if -f -z $ErrsFile;
 
 # Parse the make output into usable info
 parseMakeOutput();
-- 
gitgitgadget
Previous: Johannes Schindelin via GitGitGadgetNext: Johannes Schindelin via GitGitGadget
Message 57 of 63 in “Reinstate support for Visual Studio”
  1. 00/24 Reinstate support for Visual StudioJohannes Schindelin via GitGitGadget, Jul 18, 2019
  2. 01/24 Vcproj.pm: auto-generate GUIDsJohannes Schindelin via GitGitGadget, Jul 18, 2019
  3. 03/24 Vcproj.pm: do not configure VCWebServiceProxyGeneratorToolJohannes Schindelin via GitGitGadget, Jul 18, 2019
  4. 02/24 Vcproj.pm: list git.exe first to be startup projectPhilip Oakley via GitGitGadget, Jul 18, 2019
  5. 09/24 contrib/buildsystems: ignore gettext stuffPhilip Oakley via GitGitGadget, Jul 18, 2019
  6. 06/24 contrib/buildsystems: ignore irrelevant files in Generators/Johannes Schindelin via GitGitGadget, Jul 18, 2019
  7. 07/24 contrib/buildsystems: fix misleading error messagePhilip Oakley via GitGitGadget, Jul 18, 2019
  8. 05/24 contrib/buildsystems: ignore invalidcontinue.objPhilip Oakley via GitGitGadget, Jul 18, 2019
  9. 10/24 contrib/buildsystems: redirect errors of the dry run into a log filePhilip Oakley via GitGitGadget, Jul 18, 2019
  10. 11/24 contrib/buildsystems: optionally capture the dry-run in a filePhilip Oakley via GitGitGadget, Jul 18, 2019
  11. 15/24 contrib/buildsystems: also handle -lexpatJohannes Schindelin via GitGitGadget, Jul 18, 2019
  12. 13/24 contrib/buildsystems: handle the curl library optionPhilip Oakley via GitGitGadget, Jul 18, 2019
  13. 12/24 contrib/buildsystems: error out on unknown optionJohannes Schindelin via GitGitGadget, Jul 18, 2019
  14. 18/24 msvc: add a Makefile target to pre-generate the Visual Studio solutionJohannes Schindelin via GitGitGadget, Jul 18, 2019
  15. 20/24 .gitignore: touch up the entries regarding Visual StudioPhilip Oakley via GitGitGadget, Jul 18, 2019
  16. 17/24 contrib/buildsystems: add a backend for modern Visual Studio versionsJohannes Schindelin via GitGitGadget, Jul 18, 2019
  17. 22/24 bin-wrappers: append `.exe` to target paths if necessaryJohannes Schindelin via GitGitGadget, Jul 18, 2019
  18. 24/24 git: avoid calling aliased builtins via their dashed formJohannes Schindelin via GitGitGadget, Jul 18, 2019
  19. 23/24 t5505,t5516: create .git/branches/ when neededJohannes Schindelin via GitGitGadget, Jul 18, 2019
  20. Junio C HamanoJul 18, 2019
  21. Johannes SchindelinJul 19, 2019
  22. Junio C HamanoJul 19, 2019
  23. Junio C HamanoJul 19, 2019
  24. Junio C HamanoJul 19, 2019
  25. 14/24 contrib/buildsystems: handle libiconv, tooJohannes Schindelin via GitGitGadget, Jul 18, 2019
  26. 21/24 .gitignore: ignore Visual Studio's temporary/generated filesJohannes Schindelin via GitGitGadget, Jul 18, 2019
  27. 19/24 vcxproj: also link-or-copy builtinsJohannes Schindelin via GitGitGadget, Jul 18, 2019
  28. 16/24 contrib/buildsystems: handle options starting with a slashJohannes Schindelin via GitGitGadget, Jul 18, 2019
  29. 08/24 contrib/buildsystems: handle quoted spaces in filenamesPhilip Oakley via GitGitGadget, Jul 18, 2019
  30. 04/24 Vcproj.pm: urlencode '<' and '>' when generating VC projectsJohannes Schindelin via GitGitGadget, Jul 18, 2019
  31. 00/23 Reinstate support for Visual StudioJohannes Schindelin via GitGitGadget, Jul 29, 2019
  32. 01/23 Vcproj.pm: auto-generate GUIDsJohannes Schindelin via GitGitGadget, Jul 29, 2019
  33. 02/23 Vcproj.pm: list git.exe first to be startup projectPhilip Oakley via GitGitGadget, Jul 29, 2019
  34. 03/23 Vcproj.pm: do not configure VCWebServiceProxyGeneratorToolJohannes Schindelin via GitGitGadget, Jul 29, 2019
  35. 04/23 Vcproj.pm: urlencode '<' and '>' when generating VC projectsJohannes Schindelin via GitGitGadget, Jul 29, 2019
  36. 05/23 contrib/buildsystems: ignore invalidcontinue.objPhilip Oakley via GitGitGadget, Jul 29, 2019
  37. 11/23 contrib/buildsystems: optionally capture the dry-run in a filePhilip Oakley via GitGitGadget, Jul 29, 2019
  38. 12/23 contrib/buildsystems: error out on unknown optionJohannes Schindelin via GitGitGadget, Jul 29, 2019
  39. 16/23 contrib/buildsystems: handle options starting with a slashJohannes Schindelin via GitGitGadget, Jul 29, 2019
  40. 15/23 contrib/buildsystems: also handle -lexpatJohannes Schindelin via GitGitGadget, Jul 29, 2019
  41. 17/23 contrib/buildsystems: add a backend for modern Visual Studio versionsJohannes Schindelin via GitGitGadget, Jul 29, 2019
  42. 20/23 .gitignore: touch up the entries regarding Visual StudioPhilip Oakley via GitGitGadget, Jul 29, 2019
  43. SZEDER GáborAug 25, 2019
  44. Philip OakleyAug 25, 2019
  45. SZEDER GáborAug 25, 2019
  46. Philip OakleyAug 25, 2019
  47. SZEDER GáborAug 26, 2019
  48. Johannes SchindelinAug 28, 2019
  49. Johannes SchindelinAug 26, 2019
  50. Junio C HamanoAug 26, 2019
  51. 21/23 .gitignore: ignore Visual Studio's temporary/generated filesJohannes Schindelin via GitGitGadget, Jul 29, 2019
  52. 23/23 git: avoid calling aliased builtins via their dashed formJohannes Schindelin via GitGitGadget, Jul 29, 2019
  53. 14/23 contrib/buildsystems: handle libiconv, tooJohannes Schindelin via GitGitGadget, Jul 29, 2019
  54. 19/23 vcxproj: also link-or-copy builtinsJohannes Schindelin via GitGitGadget, Jul 29, 2019
  55. 22/23 bin-wrappers: append `.exe` to target paths if necessaryJohannes Schindelin via GitGitGadget, Jul 29, 2019
  56. 18/23 msvc: add a Makefile target to pre-generate the Visual Studio solutionJohannes Schindelin via GitGitGadget, Jul 29, 2019
  57. 10/23 contrib/buildsystems: redirect errors of the dry run into a log filePhilip Oakley via GitGitGadget, Jul 29, 2019
  58. 06/23 contrib/buildsystems: ignore irrelevant files in Generators/Johannes Schindelin via GitGitGadget, Jul 29, 2019
  59. 13/23 contrib/buildsystems: handle the curl library optionPhilip Oakley via GitGitGadget, Jul 29, 2019
  60. 09/23 contrib/buildsystems: ignore gettext stuffPhilip Oakley via GitGitGadget, Jul 29, 2019
  61. 07/23 contrib/buildsystems: fix misleading error messagePhilip Oakley via GitGitGadget, Jul 29, 2019
  62. 08/23 contrib/buildsystems: handle quoted spaces in filenamesPhilip Oakley via GitGitGadget, Jul 29, 2019
  63. Junio C HamanoJul 29, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.