* [PATCH] meson: fix building mergetool docs
@ 2026-02-09 10:08 Phillip Wood
2026-02-09 12:32 ` Patrick Steinhardt
0 siblings, 1 reply; 2+ messages in thread
From: Phillip Wood @ 2026-02-09 10:08 UTC (permalink / raw)
To: git, Patrick Steinhardt; +Cc: Phillip Wood
From: Phillip Wood <phillip.wood@dunelm.org.uk>
Building the documentation with meson when the build directory is
not an immediate subdirectory of the source directory prints the
following error
[2/1349] Generating Documentation/mer... command (wrapped by meson to set env)
../../Documentation/generate-mergetool-list.sh: line 15: ../git-mergetool--lib.sh: No such file or directory
The build does not fail because the failure is upstream of a pipe. Fix
the error by passing the correct source directory when meson runs
"generate-mergetool-list.sh". As that script sets $MERGE_TOOLS_DIR
we do not need to set it in the environment when running the script.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
---
We should probably change the script so that error is not ignored
as well. I also wonder if we should use something more exotic than
"build" as the meson build directory in our CI though that wont make
any difference if the script does not fail.
Base-Commit: 3e0db84c88c57e70ac8be8c196dfa92c5d656fbc
Published-As: https://github.com/phillipwood/git/releases/tag/pw%2Fmeson-fix-mergetool-docs%2Fv1
View-Changes-At: https://github.com/phillipwood/git/compare/3e0db84c8...604c79018
Fetch-It-Via: git fetch https://github.com/phillipwood/git pw/meson-fix-mergetool-docs/v1
Documentation/meson.build | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/Documentation/meson.build b/Documentation/meson.build
index f02dbc20cbc..d0e557c2078 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -353,13 +353,10 @@ foreach mode : [ 'diff', 'merge' ]
command: [
shell,
'@INPUT@',
- '..',
+ meson.project_source_root(),
mode,
'@OUTPUT@'
],
- env: [
- 'MERGE_TOOLS_DIR=' + meson.project_source_root() / 'mergetools',
- ],
input: 'generate-mergetool-list.sh',
output: 'mergetools-' + mode + '.adoc',
)
--
2.52.0.362.g884e03848a9
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] meson: fix building mergetool docs
2026-02-09 10:08 [PATCH] meson: fix building mergetool docs Phillip Wood
@ 2026-02-09 12:32 ` Patrick Steinhardt
0 siblings, 0 replies; 2+ messages in thread
From: Patrick Steinhardt @ 2026-02-09 12:32 UTC (permalink / raw)
To: Phillip Wood; +Cc: git, Phillip Wood
On Mon, Feb 09, 2026 at 10:08:43AM +0000, Phillip Wood wrote:
> From: Phillip Wood <phillip.wood@dunelm.org.uk>
>
> Building the documentation with meson when the build directory is
> not an immediate subdirectory of the source directory prints the
> following error
>
> [2/1349] Generating Documentation/mer... command (wrapped by meson to set env)
> ../../Documentation/generate-mergetool-list.sh: line 15: ../git-mergetool--lib.sh: No such file or directory
Oh, good catch.
> The build does not fail because the failure is upstream of a pipe. Fix
> the error by passing the correct source directory when meson runs
> "generate-mergetool-list.sh". As that script sets $MERGE_TOOLS_DIR
> we do not need to set it in the environment when running the script.
Huh.
> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
> ---
> We should probably change the script so that error is not ignored
> as well. I also wonder if we should use something more exotic than
> "build" as the meson build directory in our CI though that wont make
> any difference if the script does not fail.
We probably could, I guess. And making the script more solid would
definitely be a very good step regardless of whether or not we want to
use a more esoteric build directory.
> diff --git a/Documentation/meson.build b/Documentation/meson.build
> index f02dbc20cbc..d0e557c2078 100644
> --- a/Documentation/meson.build
> +++ b/Documentation/meson.build
> @@ -353,13 +353,10 @@ foreach mode : [ 'diff', 'merge' ]
> command: [
> shell,
> '@INPUT@',
> - '..',
> + meson.project_source_root(),
> mode,
> '@OUTPUT@'
> ],
Makes sense. I assume that this is the only change required to make
out-of-source builds work?
> - env: [
> - 'MERGE_TOOLS_DIR=' + meson.project_source_root() / 'mergetools',
> - ],
Hm. We indeed set this environment variable in the script itself. I was
a bit puzzled at first because we don't export it, and it's not used
directly. But we source "git-mergetool--lib.sh", which in turn uses the
variable, so it shouldn't be needed to export it.
So this looks like a nice simplification to me, thanks!
Patrick
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-02-09 12:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-09 10:08 [PATCH] meson: fix building mergetool docs Phillip Wood
2026-02-09 12:32 ` Patrick Steinhardt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox