Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/src/git-command-manager.ts
diff options
context:
space:
mode:
authorSimon Baird <simon.baird@gmail.com>2023-09-01 14:19:18 -0400
committerGitHub <noreply@github.com>2023-09-01 14:19:18 -0400
commit8063d6c21727e43c799971dba8b62b4879d5e15a (patch)
tree2ef150c7a865cab2c0f48cbfe9b886f2fd5dc6aa /src/git-command-manager.ts
parentc5566a390f859765ee924e0f158d3fdeb28f058c (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.ts13
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}`)