Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/
# Default: false
fetch-tags: ''

# Whether to show progress status output when fetching.
# Whether to show progress status output for git operations.
# Default: true
show-progress: ''

Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ inputs:
description: 'Whether to fetch tags, even if fetch-depth > 0.'
default: false
show-progress:
description: 'Whether to show progress status output when fetching.'
description: 'Whether to show progress status output for git operations.'
Comment on lines 80 to +81
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

show-progress does not really imply this is exclusively related to fetch. Only this little helptext.

default: true
lfs:
description: 'Whether to download Git-LFS files'
Expand Down
15 changes: 9 additions & 6 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -780,9 +780,9 @@ class GitCommandManager {
yield fs.promises.appendFile(sparseCheckoutPath, `\n${sparseCheckout.join('\n')}\n`);
});
}
checkout(ref, startPoint) {
checkout(ref, startPoint, showProgress) {
return __awaiter(this, void 0, void 0, function* () {
const args = ['checkout', '--progress', '--force'];
const args = ['checkout', showProgress ? '--progress' : '--quiet', '--force'];
if (startPoint) {
args.push('-B', ref, startPoint);
}
Expand All @@ -792,9 +792,9 @@ class GitCommandManager {
yield this.execGit(args);
});
}
checkoutDetach() {
checkoutDetach(showProgress) {
return __awaiter(this, void 0, void 0, function* () {
const args = ['checkout', '--detach'];
const args = ['checkout', '--detach', showProgress ? '--progress' : '--quiet'];
yield this.execGit(args);
});
}
Expand Down Expand Up @@ -1310,7 +1310,7 @@ function prepareExistingDirectory(git, repositoryPath, repositoryUrl, clean, ref
core.startGroup('Removing previously created refs, to avoid conflicts');
// Checkout detached HEAD
if (!(yield git.isDetached())) {
yield git.checkoutDetach();
yield git.checkoutDetach(false);
}
// Remove all refs/heads/*
let branches = yield git.branchList(false);
Expand Down Expand Up @@ -1523,6 +1523,9 @@ function getSource(settings) {
// Fetch
core.startGroup('Fetching the repository');
const fetchOptions = {};
if (settings.showProgress) {
fetchOptions.showProgress = true;
}
if (settings.filter) {
fetchOptions.filter = settings.filter;
}
Expand Down Expand Up @@ -1593,7 +1596,7 @@ function getSource(settings) {
}
// Checkout
core.startGroup('Checking out the ref');
yield git.checkout(checkoutInfo.ref, checkoutInfo.startPoint);
yield git.checkout(checkoutInfo.ref, checkoutInfo.startPoint, settings.showProgress);
core.endGroup();
// Submodules
if (settings.submodules) {
Expand Down
12 changes: 6 additions & 6 deletions src/git-command-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ export interface IGitCommandManager {
disableSparseCheckout(): Promise<void>
sparseCheckout(sparseCheckout: string[]): Promise<void>
sparseCheckoutNonConeMode(sparseCheckout: string[]): Promise<void>
checkout(ref: string, startPoint: string): Promise<void>
checkoutDetach(): Promise<void>
checkout(ref: string, startPoint: string, showProgress: boolean): Promise<void>
checkoutDetach(showProgress: boolean): Promise<void>
config(
configKey: string,
configValue: string,
Expand Down Expand Up @@ -220,8 +220,8 @@ class GitCommandManager {
)
}

async checkout(ref: string, startPoint: string): Promise<void> {
const args = ['checkout', '--progress', '--force']
async checkout(ref: string, startPoint: string, showProgress: boolean): Promise<void> {
const args = ['checkout', showProgress ? '--progress' : '--quiet', '--force']
if (startPoint) {
args.push('-B', ref, startPoint)
} else {
Expand All @@ -231,8 +231,8 @@ class GitCommandManager {
await this.execGit(args)
}

async checkoutDetach(): Promise<void> {
const args = ['checkout', '--detach']
async checkoutDetach(showProgress: boolean): Promise<void> {
const args = ['checkout', '--detach', showProgress ? '--progress' : '--quiet']
await this.execGit(args)
}

Expand Down
2 changes: 1 addition & 1 deletion src/git-directory-helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export async function prepareExistingDirectory(
core.startGroup('Removing previously created refs, to avoid conflicts')
// Checkout detached HEAD
if (!(await git.isDetached())) {
await git.checkoutDetach()
await git.checkoutDetach(false)
}

// Remove all refs/heads/*
Expand Down
6 changes: 5 additions & 1 deletion src/git-source-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
showProgress?: boolean
} = {}

if (settings.showProgress) {
fetchOptions.showProgress = true
}

if (settings.filter) {
fetchOptions.filter = settings.filter
} else if (settings.sparseCheckout) {
Expand Down Expand Up @@ -251,7 +255,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {

// Checkout
core.startGroup('Checking out the ref')
await git.checkout(checkoutInfo.ref, checkoutInfo.startPoint)
await git.checkout(checkoutInfo.ref, checkoutInfo.startPoint, settings.showProgress)
core.endGroup()

// Submodules
Expand Down
3 changes: 2 additions & 1 deletion src/git-source-settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ export interface IGitSourceSettings {
fetchTags: boolean

/**
* Indicates whether to use the --progress option when fetching
* Indicates whether to show progress status output for git operations.
* When false, git commands use --quiet to suppress verbose output.
*/
showProgress: boolean

Expand Down