mirror of
				https://github.com/actions/checkout.git
				synced 2025-11-04 13:29:15 +08:00 
			
		
		
		
	adding listener
This commit is contained in:
		
							
								
								
									
										29
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							@@ -7399,7 +7399,12 @@ class GitCommandManager {
 | 
			
		||||
            else {
 | 
			
		||||
                args.push('--branches');
 | 
			
		||||
            }
 | 
			
		||||
            const output = yield this.execGit(args);
 | 
			
		||||
            const listeners = {
 | 
			
		||||
                stderr: (data) => {
 | 
			
		||||
                    core.debug(data.toString());
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
            const output = yield this.execGit(args, false, false, listeners);
 | 
			
		||||
            for (let branch of output.stdout.trim().split('\n')) {
 | 
			
		||||
                branch = branch.trim();
 | 
			
		||||
                if (branch) {
 | 
			
		||||
@@ -7661,7 +7666,7 @@ class GitCommandManager {
 | 
			
		||||
            return result;
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    execGit(args, allowAllExitCodes = false, silent = false) {
 | 
			
		||||
    execGit(args, allowAllExitCodes = false, silent = false, customListeners = {}) {
 | 
			
		||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            fshelper.directoryExistsSync(this.workingDirectory, true);
 | 
			
		||||
            const result = new GitOutput();
 | 
			
		||||
@@ -7672,20 +7677,22 @@ class GitCommandManager {
 | 
			
		||||
            for (const key of Object.keys(this.gitEnv)) {
 | 
			
		||||
                env[key] = this.gitEnv[key];
 | 
			
		||||
            }
 | 
			
		||||
            const stdout = ['ardvark'];
 | 
			
		||||
            const defaultListener = {
 | 
			
		||||
                stdout: (data) => {
 | 
			
		||||
                    stdout.push(data.toString());
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
            // const listeners = Object.keys(customListeners) < 0 ? customListeners : {stdout: (data: Buffer) => {
 | 
			
		||||
            //   stdout.push(data.toString())
 | 
			
		||||
            // }}
 | 
			
		||||
            const listenersD = Object.assign(Object.assign({}, customListeners), defaultListener);
 | 
			
		||||
            const stdout = [];
 | 
			
		||||
            const options = {
 | 
			
		||||
                cwd: this.workingDirectory,
 | 
			
		||||
                env,
 | 
			
		||||
                silent,
 | 
			
		||||
                ignoreReturnCode: allowAllExitCodes,
 | 
			
		||||
                listeners: {
 | 
			
		||||
                    stdout: (data) => {
 | 
			
		||||
                        stdout.push(data.toString());
 | 
			
		||||
                    },
 | 
			
		||||
                    stderr: (data) => {
 | 
			
		||||
                        stdout.push(data.toString());
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                listeners: listenersD
 | 
			
		||||
            };
 | 
			
		||||
            result.exitCode = yield exec.exec(`"${this.gitPath}"`, args, options);
 | 
			
		||||
            result.stdout = stdout.join('');
 | 
			
		||||
 
 | 
			
		||||
@@ -104,7 +104,12 @@ class GitCommandManager {
 | 
			
		||||
      args.push('--branches')
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const output = await this.execGit(args)
 | 
			
		||||
    const listeners = {
 | 
			
		||||
      stderr: (data: Buffer) => {
 | 
			
		||||
        core.debug(data.toString())
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    const output = await this.execGit(args, false, false, listeners)
 | 
			
		||||
 | 
			
		||||
    for (let branch of output.stdout.trim().split('\n')) {
 | 
			
		||||
      branch = branch.trim()
 | 
			
		||||
@@ -395,7 +400,8 @@ class GitCommandManager {
 | 
			
		||||
  private async execGit(
 | 
			
		||||
    args: string[],
 | 
			
		||||
    allowAllExitCodes = false,
 | 
			
		||||
    silent = false
 | 
			
		||||
    silent = false,
 | 
			
		||||
    customListeners = {}
 | 
			
		||||
  ): Promise<GitOutput> {
 | 
			
		||||
    fshelper.directoryExistsSync(this.workingDirectory, true)
 | 
			
		||||
 | 
			
		||||
@@ -408,22 +414,22 @@ class GitCommandManager {
 | 
			
		||||
    for (const key of Object.keys(this.gitEnv)) {
 | 
			
		||||
      env[key] = this.gitEnv[key]
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const stdout: string[] = ['ardvark']
 | 
			
		||||
 | 
			
		||||
    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[] = []
 | 
			
		||||
    const options = {
 | 
			
		||||
      cwd: this.workingDirectory,
 | 
			
		||||
      env,
 | 
			
		||||
      silent,
 | 
			
		||||
      ignoreReturnCode: allowAllExitCodes,
 | 
			
		||||
      listeners: {
 | 
			
		||||
        stdout: (data: Buffer) => {
 | 
			
		||||
          stdout.push(data.toString())
 | 
			
		||||
        },
 | 
			
		||||
        stderr: (data: Buffer) => {
 | 
			
		||||
          stdout.push(data.toString())
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      listeners: listenersD
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    result.exitCode = await exec.exec(`"${this.gitPath}"`, args, options)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user