Skip to content
 
 

Repository files navigation

@stackline/git-spawned-stream

Create a readable stream from a spawned git process.

npm version license GitHub repository Docs Reddit community

Documentation | npm | Issues | Repository

Current package version: 1.0.2


Why this package?

@stackline/git-spawned-stream is the Stackline-maintained distribution of git-spawned-stream@1.0.1. It is an independent continuation of git-spawned-stream; original authors and licenses remain credited below.

Compatibility

Item Value
Package @stackline/git-spawned-stream@1.0.2
API target git-spawned-stream@1.0.1
Supported Node.js See supported framework requirements
License MIT
Main entry index.js
Runtime dependencies debug, spawn-to-readstream

Installation

npm install @stackline/git-spawned-stream

Preserve existing imports and plugin resolution with an npm alias:

npm install git-spawned-stream@npm:@stackline/git-spawned-stream

Usage and API reference

git-spawned-stream

Create a readable stream from a spawned git process.

Usage

gitSpawnedStream(repoPath, spawnArguments, limitInBytes, gitBinary)

Arguments:

  • repoPath - the path to the repo, ex: /home/alex/node/.git (or the path to the git bare repo)
  • spawnArguments - the arguments that will be passed to the child_process.spawn function
  • limitInBytes - kill the process if it exceeds the imposed limit (sends more data than allowed)
  • gitBinary - path to the git binary to use (use the one in PATH by default)

Example:

var gitSpawnedStream = require('@stackline/git-spawned-stream');
var path = require('path');
var repoPath = process.env.REPO || path.join(__dirname, '.git');
repoPath = path.resolve(repoPath);
var byteLimit = 5 * 1024 * 1024; // 5 Mb

// sort of a git log -n 2
var stream = gitSpawnedStream(repoPath, [
  'rev-list',
  '--max-count=2',
  '--header',
  'HEAD'
], byteLimit);

stream.on('data', function(data) {
  console.log('DATA', data.toString('utf8'));
}).on('error', function(err) {
  console.error('An error occurred:');
  console.error('-----------------\n');
  console.error(err.message);
  process.exit(1);
}).on('end', function(killed) {
  // when the stream is cut, killed === true
  console.log("\n±±±±±±±±±±±±±±±±±\nThat's all folks!");
});

License

MIT

Credits and original authors

Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.

Community and Links

Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.

About

Create a readable stream from a spawned git process. Maintained by Stackline.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages