Conversation
A module that is built on another one starts as a clone of that module's repository. A clone carries no identity of its own, so the first commit into it relies on one the machine provides. On a machine that cannot supply one the render stops at that commit with "empty ident name", before it writes a single functionality. A module that starts from nothing already sets an identity on its repository. Cloning did not, which is why this only shows up once a project has a module built on another. The fix applies the same identity that a fresh module repository gets. A name and an email that are already configured are left alone.
This branch has not been deployed
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.
Renders of a project that has one module built on another now work on a machine that has no git identity set, such as a CI runner.
What happens now
A module that is built on another one starts as a copy of that module's repository. The renderer then makes the first commit into that copy. Until now that commit failed on a machine where git has no name and no email to use, and the render stopped before it wrote any code. Now the copy gets the same identity that a new module repository already gets, and the render goes on.
A name and an email that are already set are not changed.
Who saw this
Only projects that have a module built on another one. A module that starts from nothing already set an identity, so single-module projects were never affected. The error was
fatal: empty ident name, reported asCODEPLAIN-10in Sentry, seen on releases 0.3.4 to 0.3.10.Test
A new test copies a repository and commits into the copy while git is not allowed to invent an identity. It fails without this change and passes with it.
Nothing needed first
No migration and no configuration change. Renders that worked before keep working.