mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 05:25:55 +08:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			v4.1.3
			...
			jww3-minve
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 425626d259 | ||
|  | 64dbc8124d | ||
|  | 06abf5564e | ||
|  | db715dc5a4 | ||
|  | 8926c30a30 | 
| @@ -8,7 +8,7 @@ Only a single commit is fetched by default, for the ref/SHA that triggered the w | ||||
|  | ||||
| The auth token is persisted in the local git config. This enables your scripts to run authenticated git commands. The token is removed during post-job cleanup. Set `persist-credentials: false` to opt-out. | ||||
|  | ||||
| When Git 2.18 or higher is not in your PATH, falls back to the REST API to download the files. | ||||
| When Git 2.28 or higher is not in your PATH, falls back to the REST API to download the files. | ||||
|  | ||||
| # What's new | ||||
|  | ||||
| @@ -62,11 +62,6 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/ | ||||
|     # Default: true | ||||
|     ssh-strict: '' | ||||
|  | ||||
|     # The user to use when connecting to the remote SSH host. By default 'git' is | ||||
|     # used. | ||||
|     # Default: git | ||||
|     ssh-user: '' | ||||
|  | ||||
|     # Whether to configure the token or SSH key with the local git config | ||||
|     # Default: true | ||||
|     persist-credentials: '' | ||||
|   | ||||
| @@ -796,8 +796,7 @@ async function setup(testName: string): Promise<void> { | ||||
|     ), | ||||
|     tryDisableAutomaticGarbageCollection: jest.fn(), | ||||
|     tryGetFetchUrl: jest.fn(), | ||||
|     tryReset: jest.fn(), | ||||
|     version: jest.fn() | ||||
|     tryReset: jest.fn() | ||||
|   } | ||||
|  | ||||
|   settings = { | ||||
| @@ -821,7 +820,6 @@ async function setup(testName: string): Promise<void> { | ||||
|     sshKey: sshPath ? 'some ssh private key' : '', | ||||
|     sshKnownHosts: '', | ||||
|     sshStrict: true, | ||||
|     sshUser: '', | ||||
|     workflowOrganizationId: 123456, | ||||
|     setSafeDirectory: true, | ||||
|     githubServerUrl: githubServerUrl | ||||
|   | ||||
| @@ -24,7 +24,7 @@ describe('git-auth-helper tests', () => { | ||||
|       console.log(args, options.listeners.stdout) | ||||
|  | ||||
|       if (args.includes('version')) { | ||||
|         options.listeners.stdout(Buffer.from('2.18')) | ||||
|         options.listeners.stdout(Buffer.from('2.28')) | ||||
|         return 0 | ||||
|       } | ||||
|  | ||||
| @@ -57,7 +57,7 @@ describe('git-auth-helper tests', () => { | ||||
|       console.log(args, options.listeners.stdout) | ||||
|  | ||||
|       if (args.includes('version')) { | ||||
|         options.listeners.stdout(Buffer.from('2.18')) | ||||
|         options.listeners.stdout(Buffer.from('2.28')) | ||||
|         return 0 | ||||
|       } | ||||
|  | ||||
| @@ -97,7 +97,7 @@ describe('Test fetchDepth and fetchTags options', () => { | ||||
|       console.log(args, options.listeners.stdout) | ||||
|  | ||||
|       if (args.includes('version')) { | ||||
|         options.listeners.stdout(Buffer.from('2.18')) | ||||
|         options.listeners.stdout(Buffer.from('2.28')) | ||||
|       } | ||||
|  | ||||
|       return 0 | ||||
|   | ||||
| @@ -501,7 +501,6 @@ async function setup(testName: string): Promise<void> { | ||||
|     }), | ||||
|     tryReset: jest.fn(async () => { | ||||
|       return true | ||||
|     }), | ||||
|     version: jest.fn() | ||||
|     }) | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| import {GitVersion} from '../src/git-version' | ||||
| import {MinimumGitSparseCheckoutVersion} from '../src/git-command-manager' | ||||
| import {GitVersion} from '../lib/git-version' | ||||
|  | ||||
| describe('git-version tests', () => { | ||||
|   it('basics', async () => { | ||||
| @@ -43,44 +42,4 @@ describe('git-version tests', () => { | ||||
|     expect(version.checkMinimum(new GitVersion('5.1'))).toBeFalsy() | ||||
|     expect(version.checkMinimum(new GitVersion('5.1.2'))).toBeFalsy() | ||||
|   }) | ||||
|  | ||||
|   it('sparse checkout', async () => { | ||||
|     const minSparseVer = MinimumGitSparseCheckoutVersion | ||||
|     expect(new GitVersion('1.0').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('1.99').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.0').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.24').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.24.0').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.24.9').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.25').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.25.0').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.25.1').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.25.9').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.26').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.26.0').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.26.1').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.26.9').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.27').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.27.0').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.27.1').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     expect(new GitVersion('2.27.9').checkMinimum(minSparseVer)).toBeFalsy() | ||||
|     //                             /--------------------------------------- | ||||
|     //         ^^^ before         /         after vvv | ||||
|     // --------------------------/ | ||||
|     expect(new GitVersion('2.28').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.28.0').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.28.1').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.28.9').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.29').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.29.0').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.29.1').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.29.9').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('2.99').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('3.0').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('3.99').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('4.0').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('4.99').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('5.0').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|     expect(new GitVersion('5.99').checkMinimum(minSparseVer)).toBeTruthy() | ||||
|   }) | ||||
| }) | ||||
|   | ||||
| @@ -45,10 +45,6 @@ inputs: | ||||
|       and `CheckHostIP=no` to the SSH command line. Use the input `ssh-known-hosts` to | ||||
|       configure additional hosts. | ||||
|     default: true | ||||
|   ssh-user: | ||||
|     description: > | ||||
|       The user to use when connecting to the remote SSH host. By default 'git' is used. | ||||
|     default: git | ||||
|   persist-credentials: | ||||
|     description: 'Whether to configure the token or SSH key with the local git config' | ||||
|     default: true | ||||
|   | ||||
							
								
								
									
										47
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										47
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -467,7 +467,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||
| exports.createCommandManager = exports.MinimumGitSparseCheckoutVersion = exports.MinimumGitVersion = void 0; | ||||
| exports.createCommandManager = exports.MinimumGitVersion = void 0; | ||||
| const core = __importStar(__nccwpck_require__(2186)); | ||||
| const exec = __importStar(__nccwpck_require__(1514)); | ||||
| const fs = __importStar(__nccwpck_require__(7147)); | ||||
| @@ -481,8 +481,7 @@ const git_version_1 = __nccwpck_require__(3142); | ||||
| // Auth header not supported before 2.9 | ||||
| // Wire protocol v2 not supported before 2.18 | ||||
| // sparse-checkout not [well-]supported before 2.28 (see https://github.com/actions/checkout/issues/1386) | ||||
| exports.MinimumGitVersion = new git_version_1.GitVersion('2.18'); | ||||
| exports.MinimumGitSparseCheckoutVersion = new git_version_1.GitVersion('2.28'); | ||||
| exports.MinimumGitVersion = new git_version_1.GitVersion('2.28'); | ||||
| function createCommandManager(workingDirectory, lfs, doSparseCheckout) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         return yield GitCommandManager.createCommandManager(workingDirectory, lfs, doSparseCheckout); | ||||
| @@ -500,7 +499,6 @@ class GitCommandManager { | ||||
|         this.lfs = false; | ||||
|         this.doSparseCheckout = false; | ||||
|         this.workingDirectory = ''; | ||||
|         this.gitVersion = new git_version_1.GitVersion(); | ||||
|     } | ||||
|     branchDelete(remote, branch) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
| @@ -526,13 +524,7 @@ class GitCommandManager { | ||||
|     branchList(remote) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const result = []; | ||||
|             // Note, this implementation uses "rev-parse --symbolic-full-name" because the output from | ||||
|             // "branch --list" is more difficult when in a detached HEAD state. | ||||
|             // TODO(https://github.com/actions/checkout/issues/786): this implementation uses | ||||
|             // "rev-parse --symbolic-full-name" because there is a bug | ||||
|             // in Git 2.18 that causes "rev-parse --symbolic" to output symbolic full names. When | ||||
|             // 2.18 is no longer supported, we can switch back to --symbolic. | ||||
|             const args = ['rev-parse', '--symbolic-full-name']; | ||||
|             const args = ['rev-parse', '--symbolic']; | ||||
|             if (remote) { | ||||
|                 args.push('--remotes=origin'); | ||||
|             } | ||||
| @@ -853,11 +845,6 @@ class GitCommandManager { | ||||
|             return output.exitCode === 0; | ||||
|         }); | ||||
|     } | ||||
|     version() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.gitVersion; | ||||
|         }); | ||||
|     } | ||||
|     static createCommandManager(workingDirectory, lfs, doSparseCheckout) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const result = new GitCommandManager(); | ||||
| @@ -909,21 +896,21 @@ class GitCommandManager { | ||||
|             this.gitPath = yield io.which('git', true); | ||||
|             // Git version | ||||
|             core.debug('Getting git version'); | ||||
|             this.gitVersion = new git_version_1.GitVersion(); | ||||
|             let gitVersion = new git_version_1.GitVersion(); | ||||
|             let gitOutput = yield this.execGit(['version']); | ||||
|             let stdout = gitOutput.stdout.trim(); | ||||
|             if (!stdout.includes('\n')) { | ||||
|                 const match = stdout.match(/\d+\.\d+(\.\d+)?/); | ||||
|                 if (match) { | ||||
|                     this.gitVersion = new git_version_1.GitVersion(match[0]); | ||||
|                     gitVersion = new git_version_1.GitVersion(match[0]); | ||||
|                 } | ||||
|             } | ||||
|             if (!this.gitVersion.isValid()) { | ||||
|             if (!gitVersion.isValid()) { | ||||
|                 throw new Error('Unable to determine git version'); | ||||
|             } | ||||
|             // Minimum git version | ||||
|             if (!this.gitVersion.checkMinimum(exports.MinimumGitVersion)) { | ||||
|                 throw new Error(`Minimum required git version is ${exports.MinimumGitVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}`); | ||||
|             if (!gitVersion.checkMinimum(exports.MinimumGitVersion)) { | ||||
|                 throw new Error(`Minimum required git version is ${exports.MinimumGitVersion}. Your git ('${this.gitPath}') is ${gitVersion}`); | ||||
|             } | ||||
|             if (this.lfs) { | ||||
|                 // Git-lfs version | ||||
| @@ -950,13 +937,8 @@ class GitCommandManager { | ||||
|                 } | ||||
|             } | ||||
|             this.doSparseCheckout = doSparseCheckout; | ||||
|             if (this.doSparseCheckout) { | ||||
|                 if (!this.gitVersion.checkMinimum(exports.MinimumGitSparseCheckoutVersion)) { | ||||
|                     throw new Error(`Minimum Git version required for sparse checkout is ${exports.MinimumGitSparseCheckoutVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}`); | ||||
|                 } | ||||
|             } | ||||
|             // Set the user agent | ||||
|             const gitHttpUserAgent = `git/${this.gitVersion} (github-actions-checkout)`; | ||||
|             const gitHttpUserAgent = `git/${gitVersion} (github-actions-checkout)`; | ||||
|             core.debug(`Set git useragent to: ${gitHttpUserAgent}`); | ||||
|             this.gitEnv['GIT_HTTP_USER_AGENT'] = gitHttpUserAgent; | ||||
|         }); | ||||
| @@ -1161,7 +1143,6 @@ const path = __importStar(__nccwpck_require__(1017)); | ||||
| const refHelper = __importStar(__nccwpck_require__(8601)); | ||||
| const stateHelper = __importStar(__nccwpck_require__(8647)); | ||||
| const urlHelper = __importStar(__nccwpck_require__(9437)); | ||||
| const git_command_manager_1 = __nccwpck_require__(738); | ||||
| function getSource(settings) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         // Repository URL | ||||
| @@ -1295,11 +1276,7 @@ function getSource(settings) { | ||||
|             } | ||||
|             // Sparse checkout | ||||
|             if (!settings.sparseCheckout) { | ||||
|                 let gitVersion = yield git.version(); | ||||
|                 // no need to disable sparse-checkout if the installed git runtime doesn't even support it. | ||||
|                 if (gitVersion.checkMinimum(git_command_manager_1.MinimumGitSparseCheckoutVersion)) { | ||||
|                     yield git.disableSparseCheckout(); | ||||
|                 } | ||||
|                 yield git.disableSparseCheckout(); | ||||
|             } | ||||
|             else { | ||||
|                 core.startGroup('Setting up sparse checkout'); | ||||
| @@ -1798,7 +1775,6 @@ function getInputs() { | ||||
|         result.sshKnownHosts = core.getInput('ssh-known-hosts'); | ||||
|         result.sshStrict = | ||||
|             (core.getInput('ssh-strict') || 'true').toUpperCase() === 'TRUE'; | ||||
|         result.sshUser = core.getInput('ssh-user'); | ||||
|         // Persist credentials | ||||
|         result.persistCredentials = | ||||
|             (core.getInput('persist-credentials') || 'false').toUpperCase() === 'TRUE'; | ||||
| @@ -2401,8 +2377,7 @@ function getFetchUrl(settings) { | ||||
|     const encodedOwner = encodeURIComponent(settings.repositoryOwner); | ||||
|     const encodedName = encodeURIComponent(settings.repositoryName); | ||||
|     if (settings.sshKey) { | ||||
|         const user = settings.sshUser.length > 0 ? settings.sshUser : 'git'; | ||||
|         return `${user}@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git`; | ||||
|         return `git@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git`; | ||||
|     } | ||||
|     // "origin" is SCHEME://HOSTNAME[:PORT] | ||||
|     return `${serviceUrl.origin}/${encodedOwner}/${encodedName}`; | ||||
|   | ||||
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| { | ||||
|   "name": "checkout", | ||||
|   "version": "4.1.3", | ||||
|   "version": "5.0.0", | ||||
|   "lockfileVersion": 2, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "checkout", | ||||
|       "version": "4.1.3", | ||||
|       "version": "5.0.0", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/core": "^1.10.0", | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "checkout", | ||||
|   "version": "4.1.3", | ||||
|   "version": "5.0.0", | ||||
|   "description": "checkout action", | ||||
|   "main": "lib/main.js", | ||||
|   "scripts": { | ||||
|   | ||||
| @@ -12,8 +12,7 @@ import {GitVersion} from './git-version' | ||||
| // Auth header not supported before 2.9 | ||||
| // Wire protocol v2 not supported before 2.18 | ||||
| // sparse-checkout not [well-]supported before 2.28 (see https://github.com/actions/checkout/issues/1386) | ||||
| export const MinimumGitVersion = new GitVersion('2.18') | ||||
| export const MinimumGitSparseCheckoutVersion = new GitVersion('2.28') | ||||
| export const MinimumGitVersion = new GitVersion('2.28') | ||||
|  | ||||
| export interface IGitCommandManager { | ||||
|   branchDelete(remote: boolean, branch: string): Promise<void> | ||||
| @@ -62,7 +61,6 @@ export interface IGitCommandManager { | ||||
|   tryDisableAutomaticGarbageCollection(): Promise<boolean> | ||||
|   tryGetFetchUrl(): Promise<string> | ||||
|   tryReset(): Promise<boolean> | ||||
|   version(): Promise<GitVersion> | ||||
| } | ||||
|  | ||||
| export async function createCommandManager( | ||||
| @@ -86,7 +84,6 @@ class GitCommandManager { | ||||
|   private lfs = false | ||||
|   private doSparseCheckout = false | ||||
|   private workingDirectory = '' | ||||
|   private gitVersion: GitVersion = new GitVersion() | ||||
|  | ||||
|   // Private constructor; use createCommandManager() | ||||
|   private constructor() {} | ||||
| @@ -114,16 +111,7 @@ class GitCommandManager { | ||||
|  | ||||
|   async branchList(remote: boolean): Promise<string[]> { | ||||
|     const result: string[] = [] | ||||
|  | ||||
|     // Note, this implementation uses "rev-parse --symbolic-full-name" because the output from | ||||
|     // "branch --list" is more difficult when in a detached HEAD state. | ||||
|  | ||||
|     // TODO(https://github.com/actions/checkout/issues/786): this implementation uses | ||||
|     // "rev-parse --symbolic-full-name" because there is a bug | ||||
|     // in Git 2.18 that causes "rev-parse --symbolic" to output symbolic full names. When | ||||
|     // 2.18 is no longer supported, we can switch back to --symbolic. | ||||
|  | ||||
|     const args = ['rev-parse', '--symbolic-full-name'] | ||||
|     const args = ['rev-parse', '--symbolic'] | ||||
|     if (remote) { | ||||
|       args.push('--remotes=origin') | ||||
|     } else { | ||||
| @@ -484,10 +472,6 @@ class GitCommandManager { | ||||
|     return output.exitCode === 0 | ||||
|   } | ||||
|  | ||||
|   async version(): Promise<GitVersion> { | ||||
|     return this.gitVersion | ||||
|   } | ||||
|  | ||||
|   static async createCommandManager( | ||||
|     workingDirectory: string, | ||||
|     lfs: boolean, | ||||
| @@ -564,23 +548,23 @@ class GitCommandManager { | ||||
|  | ||||
|     // Git version | ||||
|     core.debug('Getting git version') | ||||
|     this.gitVersion = new GitVersion() | ||||
|     let gitVersion = new GitVersion() | ||||
|     let gitOutput = await this.execGit(['version']) | ||||
|     let stdout = gitOutput.stdout.trim() | ||||
|     if (!stdout.includes('\n')) { | ||||
|       const match = stdout.match(/\d+\.\d+(\.\d+)?/) | ||||
|       if (match) { | ||||
|         this.gitVersion = new GitVersion(match[0]) | ||||
|         gitVersion = new GitVersion(match[0]) | ||||
|       } | ||||
|     } | ||||
|     if (!this.gitVersion.isValid()) { | ||||
|     if (!gitVersion.isValid()) { | ||||
|       throw new Error('Unable to determine git version') | ||||
|     } | ||||
|  | ||||
|     // Minimum git version | ||||
|     if (!this.gitVersion.checkMinimum(MinimumGitVersion)) { | ||||
|     if (!gitVersion.checkMinimum(MinimumGitVersion)) { | ||||
|       throw new Error( | ||||
|         `Minimum required git version is ${MinimumGitVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}` | ||||
|         `Minimum required git version is ${MinimumGitVersion}. Your git ('${this.gitPath}') is ${gitVersion}` | ||||
|       ) | ||||
|     } | ||||
|  | ||||
| @@ -613,15 +597,9 @@ class GitCommandManager { | ||||
|     } | ||||
|  | ||||
|     this.doSparseCheckout = doSparseCheckout | ||||
|     if (this.doSparseCheckout) { | ||||
|       if (!this.gitVersion.checkMinimum(MinimumGitSparseCheckoutVersion)) { | ||||
|         throw new Error( | ||||
|           `Minimum Git version required for sparse checkout is ${MinimumGitSparseCheckoutVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}` | ||||
|         ) | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // Set the user agent | ||||
|     const gitHttpUserAgent = `git/${this.gitVersion} (github-actions-checkout)` | ||||
|     const gitHttpUserAgent = `git/${gitVersion} (github-actions-checkout)` | ||||
|     core.debug(`Set git useragent to: ${gitHttpUserAgent}`) | ||||
|     this.gitEnv['GIT_HTTP_USER_AGENT'] = gitHttpUserAgent | ||||
|   } | ||||
|   | ||||
| @@ -9,10 +9,7 @@ import * as path from 'path' | ||||
| import * as refHelper from './ref-helper' | ||||
| import * as stateHelper from './state-helper' | ||||
| import * as urlHelper from './url-helper' | ||||
| import { | ||||
|   MinimumGitSparseCheckoutVersion, | ||||
|   IGitCommandManager | ||||
| } from './git-command-manager' | ||||
| import {IGitCommandManager} from './git-command-manager' | ||||
| import {IGitSourceSettings} from './git-source-settings' | ||||
|  | ||||
| export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
| @@ -212,11 +209,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
|  | ||||
|     // Sparse checkout | ||||
|     if (!settings.sparseCheckout) { | ||||
|       let gitVersion = await git.version() | ||||
|       // no need to disable sparse-checkout if the installed git runtime doesn't even support it. | ||||
|       if (gitVersion.checkMinimum(MinimumGitSparseCheckoutVersion)) { | ||||
|         await git.disableSparseCheckout() | ||||
|       } | ||||
|       await git.disableSparseCheckout() | ||||
|     } else { | ||||
|       core.startGroup('Setting up sparse checkout') | ||||
|       if (settings.sparseCheckoutConeMode) { | ||||
|   | ||||
| @@ -94,11 +94,6 @@ export interface IGitSourceSettings { | ||||
|    */ | ||||
|   sshStrict: boolean | ||||
|  | ||||
|   /** | ||||
|    * The SSH user to login as | ||||
|    */ | ||||
|   sshUser: string | ||||
|  | ||||
|   /** | ||||
|    * Indicates whether to persist the credentials on disk to enable scripting authenticated git commands | ||||
|    */ | ||||
|   | ||||
| @@ -143,7 +143,6 @@ export async function getInputs(): Promise<IGitSourceSettings> { | ||||
|   result.sshKnownHosts = core.getInput('ssh-known-hosts') | ||||
|   result.sshStrict = | ||||
|     (core.getInput('ssh-strict') || 'true').toUpperCase() === 'TRUE' | ||||
|   result.sshUser = core.getInput('ssh-user') | ||||
|  | ||||
|   // Persist credentials | ||||
|   result.persistCredentials = | ||||
|   | ||||
| @@ -12,8 +12,7 @@ export function getFetchUrl(settings: IGitSourceSettings): string { | ||||
|   const encodedOwner = encodeURIComponent(settings.repositoryOwner) | ||||
|   const encodedName = encodeURIComponent(settings.repositoryName) | ||||
|   if (settings.sshKey) { | ||||
|     const user = settings.sshUser.length > 0 ? settings.sshUser : 'git' | ||||
|     return `${user}@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git` | ||||
|     return `git@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git` | ||||
|   } | ||||
|  | ||||
|   // "origin" is SCHEME://HOSTNAME[:PORT] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user