Compare commits

...

15 Commits

Author SHA1 Message Date
Vallie Joseph
af5130cb88 . 2022-12-01 18:37:34 +00:00
Vallie Joseph
8e555ec39e . 2022-12-01 15:56:41 +00:00
Vallie Joseph
b99f9d0aba . 2022-12-01 15:52:47 +00:00
Vallie Joseph
a9f581070e . 2022-12-01 15:45:10 +00:00
Vallie Joseph
d2e9d8b595 . 2022-12-01 15:42:14 +00:00
Vallie Joseph
25424e8595 . 2022-12-01 15:41:55 +00:00
Vallie Joseph
bac1bcfa81 . 2022-12-01 15:20:32 +00:00
Vallie Joseph
1f9aeb9f74 adding stderr 2022-11-30 20:45:33 +00:00
Vallie Joseph
9679ac6b68 adding stderr 2022-11-30 20:42:30 +00:00
Vallie Joseph
f1764260c3 adding stderr 2022-11-30 20:41:41 +00:00
Vallie Joseph
9684017cd6 adding stderr 2022-11-30 20:35:36 +00:00
Vallie Joseph
5788ebd085 adding listener 2022-11-30 20:03:42 +00:00
Vallie Joseph
ad19603e6b removing silent option 2022-11-30 19:42:26 +00:00
Vallie Joseph
2c24b08d98 removing silent option 2022-11-30 19:40:09 +00:00
Vallie Joseph
9634409d1e adding standard error 2022-11-30 19:32:40 +00:00
4 changed files with 98 additions and 18 deletions

49
dist/index.js vendored

File diff suppressed because one or more lines are too long

13
package-lock.json generated
View File

@@ -5906,6 +5906,11 @@
"integrity": "sha512-qcLvDUPf8DSIMWarHT2ptgcqrYg62n3vPA7vhrOF24d8UNzbUBaHu2CySiENR3nEDzYgaN60071t0F6KLYMQ7Q==",
"dev": true
},
"emitter-component": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz",
"integrity": "sha512-G+mpdiAySMuB7kesVRLuyvYRqDmshB7ReKEVuyBPkzQlmiDiLrt7hHHIy4Aff552bgknVN7B2/d3lzhGO5dvpQ=="
},
"emittery": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
@@ -16487,6 +16492,14 @@
}
}
},
"stream": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz",
"integrity": "sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==",
"requires": {
"emitter-component": "^1.1.1"
}
},
"string-length": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",

View File

@@ -33,6 +33,7 @@
"@actions/github": "^2.2.0",
"@actions/io": "^1.0.1",
"@actions/tool-cache": "^1.1.2",
"stream": "0.0.2",
"uuid": "^3.3.3"
},
"devDependencies": {

View File

@@ -7,6 +7,7 @@ import * as refHelper from './ref-helper'
import * as regexpHelper from './regexp-helper'
import * as retryHelper from './retry-helper'
import {GitVersion} from './git-version'
import stream, {Writable} from 'stream'
// Auth header not supported before 2.9
// Wire protocol v2 not supported before 2.18
@@ -91,6 +92,7 @@ class GitCommandManager {
async branchList(remote: boolean): Promise<string[]> {
const result: string[] = []
const stderr: 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.
@@ -104,7 +106,15 @@ class GitCommandManager {
args.push('--branches')
}
const output = await this.execGit(args)
const listeners = {
stderr: (data: Buffer) => {
stderr.push(data.toString())
},
errline: (line: string) => {
stderr.push(line)
}
}
const output = await this.execGit(args, false, false, listeners)
for (let branch of output.stdout.trim().split('\n')) {
branch = branch.trim()
@@ -118,7 +128,7 @@ class GitCommandManager {
result.push(branch)
}
}
core.info(stderr.join('\n'))
return result
}
@@ -395,7 +405,8 @@ class GitCommandManager {
private async execGit(
args: string[],
allowAllExitCodes = false,
silent = false
silent = false,
customListeners = {}
): Promise<GitOutput> {
fshelper.directoryExistsSync(this.workingDirectory, true)
@@ -408,23 +419,45 @@ class GitCommandManager {
for (const key of Object.keys(this.gitEnv)) {
env[key] = this.gitEnv[key]
}
const defaultListener = {
stdout: (data: Buffer) => {
stdout.push(data.toString())
}
}
// const listeners = Object.keys(customListeners) < 0 ? customListeners : {stdout: (data: Buffer) => {
// stdout.push(data.toString())
// }}
const listenersD = {...customListeners, ...defaultListener}
const stdout: string[] = []
// let temp = ''
// let temp2 = ''
const options = {
cwd: this.workingDirectory,
env,
silent,
ignoreReturnCode: allowAllExitCodes,
listeners: {
stdout: (data: Buffer) => {
stdout.push(data.toString())
}
}
listeners: listenersD
// ,
// errStream: new stream.Writable({
// write(chunk, _, next) {
// temp += chunk.toString()
// next()
// }
// }),
// outStream: new stream.Writable({
// write(chunk, _, next) {
// temp2 += chunk.toString()
// next()
// }
// })
}
result.exitCode = await exec.exec(`"${this.gitPath}"`, args, options)
result.stdout = stdout.join('')
// core.info(temp.length.toString())
// core.info(temp2.length.toString())
core.info(result.stdout)
return result
}