Compare commits

...

3 Commits

Author SHA1 Message Date
tianrking 89caed3919
Merge 3f0d1d8f4c into f548e57e54 2026-07-20 15:21:06 -06:00
Aiqiao Yan f548e57e54
Consolidate dependency updates in CHANGELOG (#2537)
* Consolidate dependency updates in CHANGELOG

Removed specific dependency updates and consolidated them into a single entry.

* Fix capitalization in v7.0.1 changelog entries

Updated changelog entries for v7.0.1 to use consistent capitalization.
2026-07-20 12:20:47 -04:00
tianrking 3f0d1d8f4c Disable automatic Git maintenance
Fixes #2437
2026-07-16 14:19:08 +08:00
5 changed files with 52 additions and 23 deletions

View File

@ -1,26 +1,14 @@
# Changelog
## v7.0.1
* Bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/actions/checkout/pull/2475
* Bump actions/setup-node from 4 to 6 by @dependabot[bot] in https://github.com/actions/checkout/pull/2477
* Bump docker/build-push-action from 6.5.0 to 7.2.0 by @dependabot[bot] in https://github.com/actions/checkout/pull/2478
* Bump docker/login-action from 3.3.0 to 4.2.0 by @dependabot[bot] in https://github.com/actions/checkout/pull/2479
* Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/actions/checkout/pull/2488
* Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in https://github.com/actions/checkout/pull/2476
* eslint 9 by @dependabot[bot] in https://github.com/actions/checkout/pull/2474
* Bump the minor-actions-dependencies group with 2 updates by @dependabot[bot] in https://github.com/actions/checkout/pull/2499
* skip running unsafe pr check if input is default by @aiqiaoy in https://github.com/actions/checkout/pull/2518
* trim only ascii whitespace for branch by @aiqiaoy in https://github.com/actions/checkout/pull/2521
* escape values passed to --unset by @aiqiaoy in https://github.com/actions/checkout/pull/2530
* Skip running unsafe pr check if input is default by @aiqiaoy in https://github.com/actions/checkout/pull/2518
* Trim only ascii whitespace for branch by @aiqiaoy in https://github.com/actions/checkout/pull/2521
* Escape values passed to --unset by @aiqiaoy in https://github.com/actions/checkout/pull/2530
* Various dependency updates
## v7.0.0
* Block checking out fork PR for pull_request_target and workflow_run by @aiqiaoy in https://github.com/actions/checkout/pull/2454
* Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by @dependabot[bot] in https://github.com/actions/checkout/pull/2458
* Bump flatted from 3.3.1 to 3.4.2 by @dependabot[bot] in https://github.com/actions/checkout/pull/2460
* Bump js-yaml from 4.1.0 to 4.2.0 by @dependabot[bot] in https://github.com/actions/checkout/pull/2461
* Bump @actions/core and @actions/tool-cache and Remove uuid by @dependabot[bot] in https://github.com/actions/checkout/pull/2459
* upgrade module to esm and update dependencies by @aiqiaoy in https://github.com/actions/checkout/pull/2463
* Bump the minor-npm-dependencies group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/actions/checkout/pull/2462
* Various dependency updates
## v6.0.3
* Fix checkout init for SHA-256 repositories by @yaananth in https://github.com/actions/checkout/pull/2439

View File

@ -572,3 +572,39 @@ describe('git user-agent with orchestration ID', () => {
)
})
})
describe('automatic garbage collection configuration', () => {
beforeEach(() => {
mockFileExistsSync.mockReset()
mockDirectoryExistsSync.mockReset()
mockExec.mockImplementation((path: any, args: any, options: any) => {
if (args.includes('version')) {
options.listeners.stdout(Buffer.from('git version 2.54.0'))
}
return 0
})
})
afterEach(() => {
jest.clearAllMocks()
})
it('disables maintenance and legacy garbage collection', async () => {
git = await commandManager.createCommandManager('test', false, false)
await expect(git.tryDisableAutomaticGarbageCollection()).resolves.toBe(
true
)
expect(mockExec).toHaveBeenCalledWith(
expect.any(String),
['config', '--local', 'maintenance.auto', 'false'],
expect.objectContaining({ignoreReturnCode: true})
)
expect(mockExec).toHaveBeenCalledWith(
expect.any(String),
['config', '--local', 'gc.auto', '0'],
expect.objectContaining({ignoreReturnCode: true})
)
})
})

7
dist/index.js vendored
View File

@ -35918,8 +35918,9 @@ class GitCommandManager {
return output.exitCode === 0;
}
async tryDisableAutomaticGarbageCollection() {
const output = await this.execGit(['config', '--local', 'gc.auto', '0'], true);
return output.exitCode === 0;
const maintenanceOutput = await this.execGit(['config', '--local', 'maintenance.auto', 'false'], true);
const gcOutput = await this.execGit(['config', '--local', 'gc.auto', '0'], true);
return maintenanceOutput.exitCode === 0 && gcOutput.exitCode === 0;
}
async tryGetFetchUrl() {
const output = await this.execGit(['config', '--local', '--get', 'remote.origin.url'], true);
@ -41889,7 +41890,7 @@ async function getSource(settings) {
startGroup('Fetching submodules');
await git.submoduleSync(settings.nestedSubmodules);
await git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules);
await git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules);
await git.submoduleForeach('git config --local maintenance.auto false && git config --local gc.auto 0', settings.nestedSubmodules);
endGroup();
// Persist credentials
if (settings.persistCredentials) {

View File

@ -517,11 +517,15 @@ class GitCommandManager {
}
async tryDisableAutomaticGarbageCollection(): Promise<boolean> {
const output = await this.execGit(
const maintenanceOutput = await this.execGit(
['config', '--local', 'maintenance.auto', 'false'],
true
)
const gcOutput = await this.execGit(
['config', '--local', 'gc.auto', '0'],
true
)
return output.exitCode === 0
return maintenanceOutput.exitCode === 0 && gcOutput.exitCode === 0
}
async tryGetFetchUrl(): Promise<string> {

View File

@ -283,7 +283,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
await git.submoduleSync(settings.nestedSubmodules)
await git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules)
await git.submoduleForeach(
'git config --local gc.auto 0',
'git config --local maintenance.auto false && git config --local gc.auto 0',
settings.nestedSubmodules
)
core.endGroup()