refactor(runway): compose the checkout git env from gitexec - #613
Open
behinddwalls wants to merge 1 commit into
Open
refactor(runway): compose the checkout git env from gitexec#613behinddwalls wants to merge 1 commit into
behinddwalls wants to merge 1 commit into
Conversation
This was referenced Aug 19, 2026
behinddwalls
marked this pull request as ready for review
August 19, 2026 00:29
mnoah1
approved these changes
Aug 19, 2026
| cmd.Env = append(cmd.Env, name+"="+v) | ||
| } | ||
| } | ||
| cmd.Env = gitexec.Env(gitexec.EnvOptions{ |
Contributor
There was a problem hiding this comment.
Should this include Passthrough: runtime.PassthroughEnv, matching the merger’s environment construction? Otherwise a custom transport variable works during merging but not during the provisioning fetch. The current server does not populate this field, but it leaves the two paths short of the stated identical environment.
runGit in the Runway server's checkout provisioning kept its own copy of the scrubbed-plus-transport environment. Build it through gitexec.Env instead — the same source the merger uses — so provisioning and merging assemble an identical environment from one definition. This also closes a gap the two hand-written copies had already opened: provisioning omitted GIT_ATTR_NOSYSTEM and the no-pager/no-editor settings the merge path sets, so a system gitattributes file could influence the initial checkout but not later merge operations. Both now run under the same scrub set.
behinddwalls
force-pushed
the
preetam/runway-wiring-gitexec
branch
from
August 19, 2026 15:38
1db5645 to
301e75f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
runGit in the Runway server's checkout provisioning kept its own copy of the scrubbed-plus-transport environment. Build it through gitexec.Env instead — the same source the merger uses — so provisioning and merging assemble an identical environment from one definition.
This also closes a gap the two hand-written copies had already opened: provisioning omitted GIT_ATTR_NOSYSTEM and the no-pager/no-editor settings the merge path sets, so a system gitattributes file could influence the initial checkout but not later merge operations. Both now run under the same scrub set.
Test Plan
✅
//service/runway/servergreen. Provisioning and merge paths now assemble an identical git environment from one source.Stack