-
Notifications
You must be signed in to change notification settings - Fork 195
Open
Description
Description
After entire creates checkpoint commits or merges session logs, .git/config gets user.name = user.email (the literal string "user.email") instead of the actual username. This causes all subsequent commits in the repository to show an incorrect author.
Environment
- entire version: 0.4.5 (a92c0d0)
- OS/Arch: darwin/arm64
- Go version: go1.25.6
- Install method: Homebrew (
entireio/homebrew-tap)
Evidence
- After entire performs "Merge remote session logs" or creates checkpoint commits,
.git/configcontains:[user] name = user.email
- The global git config has
user.name = jojoprisonanduser.email = egyabig2@gmail.com, but the local override created by entire setsuser.nameto the literal string"user.email"— clearly a variable name reference bug in the code. - Running
strings $(which entire)reveals the stringtemporaryuser.namein the binary, which suggests a string concatenation or template bug where a variable liketemporary+user.namewas intended butuser.emailwas used instead. - 72 commits were affected — all showing author as
user.email <egyabig2@gmail.com>instead ofjojoprison <egyabig2@gmail.com>, starting from when entire performed its first "Merge remote session logs" operation.
Steps to Reproduce
- Set global git config:
git config --global user.name "jojoprison"andgit config --global user.email "egyabig2@gmail.com" - Use entire.dev with Claude Code sessions in a repository
- Let entire create checkpoint commits or merge session logs
- Check local git config:
git config --local user.name - Actual result:
user.email(literal string) - Expected result: Either no local override, or the actual username (
jojoprison)
Impact
- All commits made after entire's operation show wrong author name
- This silently corrupts the git history — users may not notice for a long time
- In our case, 72 commits had to be identified as affected
Workaround
Remove the corrupted local config entry:
git config --local --unset user.nameRoot Cause Hypothesis
Looking at the binary strings, it appears there's a bug where entire tries to set a temporary user.name in the local git config but accidentally writes the literal string "user.email" instead of reading the value from git config user.name or git config user.email. This could be a typo in the Go source code, e.g.:
// Likely bug: something like
git config --local user.name "user.email" // writes literal "user.email"
// Instead of:
git config --local user.name "$actual_username"Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels