Skip to content

Commit 37a7183

Browse files
committed
Environment variables should be an argument as the context may differ between external execution interfaces.
1 parent ce274b8 commit 37a7183

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

src/tooling/Elastic.Documentation.Tooling/ExternalCommands/ExternalCommandExecutor.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,12 @@ namespace Elastic.Documentation.Tooling.ExternalCommands;
1212
public abstract class ExternalCommandExecutor(DiagnosticsCollector collector, IDirectoryInfo workingDirectory)
1313
{
1414
protected IDirectoryInfo WorkingDirectory => workingDirectory;
15-
protected void ExecIn(string binary, params string[] args)
15+
protected void ExecIn(Dictionary<string, string> environmentVars, string binary, params string[] args)
1616
{
1717
var arguments = new ExecArguments(binary, args)
1818
{
1919
WorkingDirectory = workingDirectory.FullName,
20-
Environment = new Dictionary<string, string>
21-
{
22-
// Disable git editor prompts:
23-
// There are cases where `git pull` would prompt for an editor to write a commit message.
24-
// This env variable prevents that.
25-
{ "GIT_EDITOR", "true" }
26-
},
20+
Environment = environmentVars
2721
};
2822
var result = Proc.Exec(arguments);
2923
if (result != 0)

src/tooling/docs-assembler/Sourcing/GitFacade.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,23 @@ public interface IGitRepository
2626
// It uses `git pull --depth 1` and `git fetch --depth 1` to minimize the amount of data transferred.
2727
public class SingleCommitOptimizedGitRepository(DiagnosticsCollector collector, IDirectoryInfo workingDirectory) : ExternalCommandExecutor(collector, workingDirectory), IGitRepository
2828
{
29+
private static readonly Dictionary<string, string> EnvironmentVars = new()
30+
{
31+
// Disable git editor prompts:
32+
// There are cases where `git pull` would prompt for an editor to write a commit message.
33+
// This env variable prevents that.
34+
{ "GIT_EDITOR", "true" }
35+
};
36+
2937
public string GetCurrentCommit() => Capture("git", "rev-parse", "HEAD");
3038

31-
public void Init() => ExecIn("git", "init");
39+
public void Init() => ExecIn(EnvironmentVars, "git", "init");
3240
public bool IsInitialized() => Directory.Exists(Path.Combine(WorkingDirectory.FullName, ".git"));
33-
public void Pull(string branch) => ExecIn("git", "pull", "--depth", "1", "--allow-unrelated-histories", "--no-ff", "origin", branch);
34-
public void Fetch(string reference) => ExecIn("git", "fetch", "--no-tags", "--prune", "--no-recurse-submodules", "--depth", "1", "origin", reference);
35-
public void EnableSparseCheckout(string folder) => ExecIn("git", "sparse-checkout", "set", folder);
36-
public void DisableSparseCheckout() => ExecIn("git", "sparse-checkout", "disable");
37-
public void Checkout(string reference) => ExecIn("git", "checkout", "--force", reference);
41+
public void Pull(string branch) => ExecIn(EnvironmentVars, "git", "pull", "--depth", "1", "--allow-unrelated-histories", "--no-ff", "origin", branch);
42+
public void Fetch(string reference) => ExecIn(EnvironmentVars, "git", "fetch", "--no-tags", "--prune", "--no-recurse-submodules", "--depth", "1", "origin", reference);
43+
public void EnableSparseCheckout(string folder) => ExecIn(EnvironmentVars, "git", "sparse-checkout", "set", folder);
44+
public void DisableSparseCheckout() => ExecIn(EnvironmentVars, "git", "sparse-checkout", "disable");
45+
public void Checkout(string reference) => ExecIn(EnvironmentVars, "git", "checkout", "--force", reference);
3846

39-
public void GitAddOrigin(string origin) => ExecIn("git", "remote", "add", "origin", origin);
47+
public void GitAddOrigin(string origin) => ExecIn(EnvironmentVars, "git", "remote", "add", "origin", origin);
4048
}

src/tooling/docs-builder/Cli/LinkHealthCommands.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@
77
using Actions.Core.Services;
88
using ConsoleAppFramework;
99
using Documentation.Builder.Tracking;
10+
using Elastic.Documentation.Configuration;
1011
using Elastic.Documentation.Configuration.Builder;
1112
using Elastic.Documentation.Tooling.Diagnostics.Console;
1213
using Elastic.Documentation.Tooling.Filters;
13-
using Elastic.Markdown;
14-
using Elastic.Markdown.IO;
1514
using Microsoft.Extensions.Logging;
1615

1716
namespace Documentation.Builder.Cli;

0 commit comments

Comments
 (0)