Merge pull request #572: fix(git): pin git's locale for clone, so failures classify on non-English hosts (#568)

This commit is contained in:
Codeman maintainer
2026-10-10 02:53:25 +02:00
4 changed files with 16 additions and 2 deletions
+2 -2
View File
@@ -1342,8 +1342,8 @@ describe('Custom Model Endpoint Profiles: _confirmContextWarning (in-app modal,
expect(modal.classList.contains('active')).toBe(true);
const message = win.document.getElementById('customModelContextWarningMessage')!.textContent!;
expect(message).toContain('qwen3.8-27b-ud-q4_k_xl');
expect(message).toContain('16,384');
expect(message).toContain('40,000');
expect(message).toContain((16384).toLocaleString()); // the modal formats for the user's locale
expect(message).toContain((40000).toLocaleString());
expect(message).toMatch(/llama-swap/i);
expect(message).toMatch(/fit-ctx/i);
+8
View File
@@ -239,6 +239,14 @@ describe('gitNonInteractiveEnv', () => {
it("does not override a user's own GIT_SSH_COMMAND", () => {
expect(gitNonInteractiveEnv({ GIT_SSH_COMMAND: 'ssh -F /custom' }).GIT_SSH_COMMAND).toBe('ssh -F /custom');
});
// Issue #568. CI runs in an English locale, so the real-git tests below cannot
// catch a revert: only this assertion fails if the pin is dropped.
it("pins git's messages to English over the host's locale, since classifyGitFailure() matches English stderr", () => {
const env = gitNonInteractiveEnv({ LC_ALL: 'de_DE.UTF-8', LANG: 'de_DE.UTF-8', LANGUAGE: 'de' });
expect(env.LC_ALL).toBe('C');
expect(env.LANG).toBe('C');
});
});
describe('parseLsRemoteOutput', () => {
+2
View File
@@ -14,6 +14,8 @@ import { clearGitStatusCache, runGit, type GitRunner } from '../../src/git-works
const ENV = {
...process.env,
// As the production runner (git-workspace-status.ts): git's not-a-repo message is matched in English.
LC_ALL: 'C',
GIT_AUTHOR_NAME: 'T',
GIT_AUTHOR_EMAIL: 't@example.com',
GIT_COMMITTER_NAME: 'T',