diff options
| author | Simon Baird <simon.baird@gmail.com> | 2023-09-01 14:19:18 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-01 14:19:18 -0400 |
| commit | 8063d6c21727e43c799971dba8b62b4879d5e15a (patch) | |
| tree | 2ef150c7a865cab2c0f48cbfe9b886f2fd5dc6aa /src/git-command-manager.ts | |
| parent | c5566a390f859765ee924e0f158d3fdeb28f058c (diff) | |
Support fetching without the --progress option (#1067)
Setting the `show-progress` option to false in the `with` section of the
workflow step will cause git fetch to run without `--progress`.
The motivation is to be able to suppress the noisy progress status
output which adds many hundreds of "remote: Counting objects: 85%
(386/453)" and similar lines in the workflow log.
This should be sufficient to resolve #894 and its older friends,
though the solution is different to the one proposed there because
it doesn't use the --quiet flag. IIUC git doesn't show the progress
status by default since the output is not a terminal, so that's why
removing the --progress option is all that's needed.
Adding the --quiet flag doesn't make a lot of difference once the
--progress flag is removed, and actually I think using --quiet would
suppress some other more useful output that would be better left
visible.
Signed-off-by: Simon Baird <sbaird@redhat.com>
Diffstat (limited to 'src/git-command-manager.ts')
| -rw-r--r-- | src/git-command-manager.ts | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts index 6ab807b..7752cfa 100644 --- a/src/git-command-manager.ts +++ b/src/git-command-manager.ts @@ -34,6 +34,7 @@ export interface IGitCommandManager { filter?: string fetchDepth?: number fetchTags?: boolean + showProgress?: boolean } ): Promise<void> getDefaultBranch(repositoryUrl: string): Promise<string> @@ -241,14 +242,22 @@ class GitCommandManager { async fetch( refSpec: string[], - options: {filter?: string; fetchDepth?: number; fetchTags?: boolean} + options: { + filter?: string + fetchDepth?: number + fetchTags?: boolean + showProgress?: boolean + } ): Promise<void> { const args = ['-c', 'protocol.version=2', 'fetch'] if (!refSpec.some(x => x === refHelper.tagsRefSpec) && !options.fetchTags) { args.push('--no-tags') } - args.push('--prune', '--progress', '--no-recurse-submodules') + args.push('--prune', '--no-recurse-submodules') + if (options.showProgress) { + args.push('--progress') + } if (options.filter) { args.push(`--filter=${options.filter}`) |
