Create a readable stream from a spawned git process.
Documentation | npm | Issues | Repository
Current package version: 1.0.2
@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.
| 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 |
npm install @stackline/git-spawned-streamPreserve existing imports and plugin resolution with an npm alias:
npm install git-spawned-stream@npm:@stackline/git-spawned-streamCreate a readable stream from a spawned git process.
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 thechild_process.spawnfunctionlimitInBytes- 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 inPATHby 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!");
});MIT
- Original project: git-spawned-stream.
- Alexandru Vladutu.
- Stackline maintenance: Alexandro Paixao Marques and Stackline contributors.
Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.
Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.