{"_id":"js-git","_rev":"221614","name":"js-git","description":"Git Implemented in JavaScript","dist-tags":{"latest":"0.7.8"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"time":{"modified":"2021-06-03T15:40:17.000Z","created":"2013-07-27T03:11:34.067Z","0.7.8":"2017-01-24T19:54:38.070Z","0.7.7":"2014-08-22T04:08:08.121Z","0.7.6":"2014-08-05T18:14:18.608Z","0.7.5":"2014-07-25T21:39:55.331Z","0.7.4":"2014-07-25T21:23:57.108Z","0.7.3":"2014-07-19T06:15:16.900Z","0.7.2":"2014-07-19T06:05:21.082Z","0.7.1":"2014-07-19T05:46:16.291Z","0.6.2":"2014-01-09T00:19:16.314Z","0.6.1":"2013-11-15T21:51:24.727Z","0.6.0":"2013-11-09T04:15:43.625Z","0.5.4":"2013-10-23T01:14:21.109Z","0.5.3":"2013-10-18T21:23:23.098Z","0.5.2":"2013-10-04T00:21:41.838Z","0.5.0":"2013-09-25T19:18:05.143Z","0.4.2":"2013-09-14T03:52:53.311Z","0.4.1":"2013-09-13T04:34:33.405Z","0.4.0":"2013-09-12T05:11:46.918Z","0.3.3":"2013-09-09T18:04:41.763Z","0.3.2":"2013-09-06T20:38:34.231Z","0.3.1":"2013-08-29T18:23:40.231Z","0.3.0":"2013-08-28T16:56:24.872Z","0.2.5":"2013-08-28T04:29:57.571Z","0.2.4":"2013-08-28T03:26:34.905Z","0.2.3":"2013-08-09T06:21:58.599Z","0.2.2":"2013-08-09T04:13:42.827Z","0.2.1":"2013-08-09T03:35:15.286Z","0.2.0":"2013-08-09T02:51:57.190Z","0.0.0":"2013-07-27T03:11:34.067Z"},"users":{"funroll":true,"gaganblr":true,"slang800":true,"saintedlama":true,"coderaiser":true,"fabienfoerster":true,"slang":true,"famousgarkin":true,"brandonpapworth":true,"stackdump":true,"whitelynx":true,"fedor":true,"roadlabs":true,"lionc":true},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"versions":{"0.7.8":{"name":"js-git","version":"0.7.8","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"^0.1.0","culvert":"^0.1.2","git-sha1":"^0.1.2","pako":"^0.2.5"},"gitHead":"d78da0138969a368da74d0dfb9e3c5d88114b152","homepage":"https://github.com/creationix/js-git#readme","_id":"js-git@0.7.8","_shasum":"52fa655ab61877d6f1079efc6534b554f31e5444","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"dist":{"shasum":"52fa655ab61877d6f1079efc6534b554f31e5444","size":64662,"noattachment":false,"key":"/js-git/-/js-git-0.7.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.8.tgz"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/js-git-0.7.8.tgz_1485287677335_0.11363758938387036"},"directories":{},"publish_time":1485287678070,"_cnpm_publish_time":1485287678070,"_hasShrinkwrap":false},"0.7.7":{"name":"js-git","version":"0.7.7","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"^0.1.0","culvert":"^0.1.2","git-sha1":"^0.1.2","pako":"^0.2.5"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.7","_shasum":"c9085bfdf17ca9dc1d97936daddce5e55af3ced3","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"dist":{"shasum":"c9085bfdf17ca9dc1d97936daddce5e55af3ced3","size":64550,"noattachment":false,"key":"/js-git/-/js-git-0.7.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.7.tgz"},"directories":{},"publish_time":1408680488121,"_cnpm_publish_time":1408680488121,"_hasShrinkwrap":false},"0.7.6":{"name":"js-git","version":"0.7.6","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"^0.1.0","culvert":"^0.1.2","git-sha1":"^0.1.2","pako":"^0.2.5","pathjoin":"git://github.com/creationix/pathjoin.git"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.6","_shasum":"b3f83525de437289511eb3bba95a732beb330b89","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"dist":{"shasum":"b3f83525de437289511eb3bba95a732beb330b89","size":64491,"noattachment":false,"key":"/js-git/-/js-git-0.7.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.6.tgz"},"directories":{},"publish_time":1407262458608,"_cnpm_publish_time":1407262458608,"_hasShrinkwrap":false},"0.7.5":{"name":"js-git","version":"0.7.5","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"^0.1.0","culvert":"^0.1.2","git-sha1":"^0.1.2","pako":"^0.2.5","pathjoin":"git://github.com/creationix/pathjoin.git"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.5","_shasum":"407936b296324a233c9f93b7f42179baca725228","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"dist":{"shasum":"407936b296324a233c9f93b7f42179baca725228","size":64116,"noattachment":false,"key":"/js-git/-/js-git-0.7.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.5.tgz"},"directories":{},"publish_time":1406324395331,"_cnpm_publish_time":1406324395331,"_hasShrinkwrap":false},"0.7.4":{"name":"js-git","version":"0.7.4","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"git://github.com/creationix/bodec.git","pathjoin":"git://github.com/creationix/pathjoin.git","git-sha1":"git://github.com/creationix/git-sha1.git","pako":"git://github.com/nodeca/pako.git","culvert":"~0.1.1"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.4","_shasum":"6f4faff162b55c95c238147c2c71f32bcb8618f4","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"dist":{"shasum":"6f4faff162b55c95c238147c2c71f32bcb8618f4","size":64121,"noattachment":false,"key":"/js-git/-/js-git-0.7.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.4.tgz"},"directories":{},"publish_time":1406323437108,"_cnpm_publish_time":1406323437108,"_hasShrinkwrap":false},"0.7.3":{"name":"js-git","version":"0.7.3","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"git://github.com/creationix/bodec.git","pathjoin":"git://github.com/creationix/pathjoin.git","git-sha1":"git://github.com/creationix/git-sha1.git","pako":"git://github.com/nodeca/pako.git","culvert":"~0.1.1"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.3","dist":{"shasum":"c6bcebf01223e38cc713c37384df3149e10c7694","size":67818,"noattachment":false,"key":"/js-git/-/js-git-0.7.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.3.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1405750516900,"_cnpm_publish_time":1405750516900,"_hasShrinkwrap":false},"0.7.2":{"name":"js-git","version":"0.7.2","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"git://github.com/creationix/bodec.git","pathjoin":"git://github.com/creationix/pathjoin.git","git-sha1":"git://github.com/creationix/git-sha1.git","pako":"git://github.com/nodeca/pako.git","culvert":"~0.1.1"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.2","dist":{"shasum":"9baa554f8c3ee8c4d6fbf86d29d28c26876513ba","size":67796,"noattachment":false,"key":"/js-git/-/js-git-0.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1405749921082,"_cnpm_publish_time":1405749921082,"_hasShrinkwrap":false},"0.7.1":{"name":"js-git","version":"0.7.1","description":"Git Implemented in JavaScript","keywords":["git","js-git"],"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"ls test/test-* | xargs -n1 node"},"dependencies":{"bodec":"git://github.com/creationix/bodec.git","pathjoin":"git://github.com/creationix/pathjoin.git","git-sha1":"git://github.com/creationix/git-sha1.git","pako":"git://github.com/nodeca/pako.git","culvert":"~0.1.1"},"homepage":"https://github.com/creationix/js-git","_id":"js-git@0.7.1","dist":{"shasum":"caf9a6863b877c3f575a270605b7d3d8bd1ed1c2","size":63360,"noattachment":false,"key":"/js-git/-/js-git-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.7.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1405748776291,"_cnpm_publish_time":1405748776291,"_hasShrinkwrap":false},"0.6.2":{"name":"js-git","version":"0.6.2","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.2.0","git-net":"~0.0.4","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","varint":"0.0.3","bops":"~0.1.0"},"readmeFilename":"README.md","homepage":"https://github.com/creationix/js-git","_id":"js-git@0.6.2","dist":{"shasum":"66a2afaeae0317eaf2d10535d934e17d0ace61e6","size":56185,"noattachment":false,"key":"/js-git/-/js-git-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.6.2.tgz"},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1389226756314,"_cnpm_publish_time":1389226756314,"_hasShrinkwrap":false},"0.6.1":{"name":"js-git","version":"0.6.1","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.2.0","git-net":"~0.0.4","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","varint":"0.0.3","bops":"~0.1.0"},"readmeFilename":"README.md","_id":"js-git@0.6.1","dist":{"shasum":"1cb2814cae81aa204073fd5ed264d3dab009eb9a","size":48743,"noattachment":false,"key":"/js-git/-/js-git-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.6.1.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1384552284727,"_cnpm_publish_time":1384552284727,"_hasShrinkwrap":false},"0.6.0":{"name":"js-git","version":"0.6.0","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.2.0","git-net":"~0.0.4","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","varint":"0.0.3","bops":"~0.1.0"},"readmeFilename":"README.md","homepage":"https://github.com/creationix/js-git","_id":"js-git@0.6.0","dist":{"shasum":"a61598d4f4e9007123e70df894a0a10f721fd25b","size":48451,"noattachment":false,"key":"/js-git/-/js-git-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.6.0.tgz"},"_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1383970543625,"_cnpm_publish_time":1383970543625,"_hasShrinkwrap":false},"0.5.4":{"name":"js-git","version":"0.5.4","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.2.0","git-net":"~0.0.4","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.5.4","dist":{"shasum":"cee405ef03da9478ef5c7a5bcdd1fef36573f179","size":38912,"noattachment":false,"key":"/js-git/-/js-git-0.5.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.5.4.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1382490861109,"_cnpm_publish_time":1382490861109,"_hasShrinkwrap":false},"0.5.3":{"name":"js-git","version":"0.5.3","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.2.0","git-net":"~0.0.4","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.5.3","dist":{"shasum":"48e5eec65ecd8ddb5c26a0270c22d910eb2de3a6","size":38812,"noattachment":false,"key":"/js-git/-/js-git-0.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.5.3.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1382131403098,"_cnpm_publish_time":1382131403098,"_hasShrinkwrap":false},"0.5.2":{"name":"js-git","version":"0.5.2","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.1.1","git-net":"~0.0.3","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.5.2","dist":{"shasum":"2020075885d0c5ed4964f743a692a819b2439ee2","size":35959,"noattachment":false,"key":"/js-git/-/js-git-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.5.2.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1380846101838,"_cnpm_publish_time":1380846101838,"_hasShrinkwrap":false},"0.5.0":{"name":"js-git","version":"0.5.0","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.1.1","git-net":"~0.0.3","git-node-platform":"~0.1.4","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.5.0","dist":{"shasum":"c2d07218f7ca345dc8b323a3705f0d543c5e94fb","size":36236,"noattachment":false,"key":"/js-git/-/js-git-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.5.0.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1380136685143,"_cnpm_publish_time":1380136685143,"_hasShrinkwrap":false},"0.4.2":{"name":"js-git","version":"0.4.2","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.1.1","git-net":"~0.0.2","git-node-platform":"~0.1.3","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.4.2","dist":{"shasum":"ea534187323c7f74e5ef7c2aeb829fd0a66c2761","size":35367,"noattachment":false,"key":"/js-git/-/js-git-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.4.2.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1379130773311,"_cnpm_publish_time":1379130773311,"_hasShrinkwrap":false},"0.4.1":{"name":"js-git","version":"0.4.1","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.1.1","git-net":"~0.0.2","git-node-platform":"~0.1.3","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.4.1","dist":{"shasum":"2a9151160ba36ac31f7091399b132c7beb6ce243","size":37779,"noattachment":false,"key":"/js-git/-/js-git-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.4.1.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1379046873405,"_cnpm_publish_time":1379046873405,"_hasShrinkwrap":false},"0.4.0":{"name":"js-git","version":"0.4.0","description":"Git Implemented in JavaScript","main":"js-git.js","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"devDependencies":{"git-fs-db":"~0.1.0","git-node-platform":"~0.1.2","git-net":"~0.0.1","gen-run":"~0.1.1"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"push-to-pull":"~0.1.0","git-pack-codec":"~0.0.1"},"readmeFilename":"README.md","_id":"js-git@0.4.0","dist":{"shasum":"e43ae73723b0a9f3a3a50d3568264af992cb91d4","size":34084,"noattachment":false,"key":"/js-git/-/js-git-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.4.0.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1378962706918,"_cnpm_publish_time":1378962706918,"_hasShrinkwrap":false},"0.3.3":{"name":"js-git","version":"0.3.3","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"find . -name '*.js' | grep -v node_modules | grep -v min.js | xargs jshint"},"dependencies":{"push-to-pull":"~0.1.0","varint":"0.0.3"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0","jshint":"~2.1.9"},"readmeFilename":"README.md","_id":"js-git@0.3.3","dist":{"shasum":"a82f33e042f9ae98e179ca8c98219d8fe4ee5442","size":49488,"noattachment":false,"key":"/js-git/-/js-git-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.3.3.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1378749881763,"_cnpm_publish_time":1378749881763,"_hasShrinkwrap":false},"0.3.2":{"name":"js-git","version":"0.3.2","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"find . -name '*.js' | grep -v node_modules | grep -v min.js | xargs jshint"},"dependencies":{"push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0","jshint":"~2.1.9"},"readmeFilename":"README.md","_id":"js-git@0.3.2","dist":{"shasum":"a739f70b745e56c49c978390191f6bb6c20d7b4b","size":50426,"noattachment":false,"key":"/js-git/-/js-git-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.3.2.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1378499914231,"_cnpm_publish_time":1378499914231,"_hasShrinkwrap":false},"0.3.1":{"name":"js-git","version":"0.3.1","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"find . -name '*.js' | grep -v node_modules | grep -v min.js | xargs jshint"},"dependencies":{"push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0","jshint":"~2.1.9"},"readmeFilename":"README.md","_id":"js-git@0.3.1","dist":{"shasum":"f90b276bf5716f53d4cf911624eb9a674ecab6ee","size":51132,"noattachment":false,"key":"/js-git/-/js-git-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.3.1.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1377800620231,"_cnpm_publish_time":1377800620231,"_hasShrinkwrap":false},"0.3.0":{"name":"js-git","version":"0.3.0","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"find . -name '*.js' | grep -v node_modules | grep -v min.js | xargs jshint"},"dependencies":{"push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0","jshint":"~2.1.9"},"readmeFilename":"README.md","_id":"js-git@0.3.0","dist":{"shasum":"a20377eeab39b41dbff998b14d84b778ff1a4c87","size":51163,"noattachment":false,"key":"/js-git/-/js-git-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.3.0.tgz"},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1377708984872,"_cnpm_publish_time":1377708984872,"_hasShrinkwrap":false},"0.2.5":{"name":"js-git","version":"0.2.5","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"find . -name '*.js' | grep -v node_modules | grep -v min.js | xargs jshint"},"dependencies":{"bops":"~0.0.6","git-apply-delta":"0.0.7","push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0","jshint":"~2.1.9"},"readmeFilename":"README.md","_id":"js-git@0.2.5","dist":{"shasum":"5a90a6e2a7058c7ba17476b4c8487d4bd45a7716","size":51154,"noattachment":false,"key":"/js-git/-/js-git-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.2.5.tgz"},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1377664197571,"_cnpm_publish_time":1377664197571,"_hasShrinkwrap":false},"0.2.4":{"name":"js-git","version":"0.2.4","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"scripts":{"test":"find . -name '*.js' | grep -v node_modules | grep -v min.js | xargs jshint"},"dependencies":{"bops":"~0.0.6","git-apply-delta":"0.0.7","push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0","jshint":"~2.1.9"},"readmeFilename":"README.md","_id":"js-git@0.2.4","dist":{"shasum":"82e81a2c438dab32c6440bbd6858d5f36e14b60e","size":86602,"noattachment":false,"key":"/js-git/-/js-git-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.2.4.tgz"},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1377660394905,"_cnpm_publish_time":1377660394905,"_hasShrinkwrap":false},"0.2.3":{"name":"js-git","version":"0.2.3","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"bops":"~0.0.6","git-apply-delta":"0.0.7","push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0"},"readmeFilename":"README.md","_id":"js-git@0.2.3","dist":{"shasum":"6abd49d8a00ebd4bd4b69fb958273cfdd7225543","size":57494,"noattachment":false,"key":"/js-git/-/js-git-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.2.3.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1376029318599,"_cnpm_publish_time":1376029318599,"_hasShrinkwrap":false},"0.2.2":{"name":"js-git","version":"0.2.2","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"bops":"~0.0.6","git-apply-delta":"0.0.7","push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0"},"readmeFilename":"README.md","_id":"js-git@0.2.2","dist":{"shasum":"6b50e219d72fdb0717fd71d43a2402a8da976b44","size":55622,"noattachment":false,"key":"/js-git/-/js-git-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.2.2.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1376021622827,"_cnpm_publish_time":1376021622827,"_hasShrinkwrap":false},"0.2.1":{"name":"js-git","version":"0.2.1","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"bops":"~0.0.6","git-apply-delta":"0.0.7","push-to-pull":"~0.1.0"},"devDependencies":{"js-git-node-platform":"~0.2.0","gen-run":"~0.1.0"},"readmeFilename":"README.md","_id":"js-git@0.2.1","dist":{"shasum":"17a04147fdbc6c541a38db3b608644527adcd60a","size":114963,"noattachment":false,"key":"/js-git/-/js-git-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.2.1.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1376019315286,"_cnpm_publish_time":1376019315286,"_hasShrinkwrap":false},"0.2.0":{"name":"js-git","version":"0.2.0","description":"Git Implemented in JavaScript","repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"bops":"~0.0.6","git-apply-delta":"0.0.7"},"devDependencies":{"ssh2":"~0.2.11","gen-run":"~0.1.0","push-to-pull":"~0.1.0"},"readmeFilename":"README.md","_id":"js-git@0.2.0","dist":{"shasum":"e87dd168db3ea9a2eea1adbd3fa2303aa7fe3ed8","size":117417,"noattachment":false,"key":"/js-git/-/js-git-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.2.0.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"directories":{},"publish_time":1376016717190,"_cnpm_publish_time":1376016717190,"_hasShrinkwrap":false},"0.0.0":{"name":"js-git","version":"0.0.0","description":"Git Implemented in JavaScript","main":"index.js","bin":{"js-git":"clone.js"},"directories":{"example":"examples"},"scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/creationix/js-git.git"},"keywords":["git","js-git"],"author":{"name":"Tim Caswell","email":"tim@creationix.com"},"license":"MIT","bugs":{"url":"https://github.com/creationix/js-git/issues"},"dependencies":{"bops":"0.0.6"},"readmeFilename":"README.md","_id":"js-git@0.0.0","dist":{"shasum":"0175a106f90bc36be297182bffd132e88b626018","size":35829,"noattachment":false,"key":"/js-git/-/js-git-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/js-git/download/js-git-0.0.0.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"creationix","email":"tim@creationix.com"},"maintainers":[{"name":"creationix","email":"tim@creationix.com"}],"publish_time":1374894694067,"_cnpm_publish_time":1374894694067,"_hasShrinkwrap":false}},"readme":"# JS-Git\n[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/creationix/js-git?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nThis project is a collection of modules that helps in implementing git powered\napplications in JavaScript.  The original purpose for this is to enable better\ndeveloper tools for authoring code in restricted environments like ChromeBooks\nand tablets.  It also enables using git as a database to replace SQL and no-SQL\ndata stores in many applications.\n\nThis project was initially funded by two crowd-sourced fundraisers.  See details\nin [BACKERS.md](BACKERS.md) and [BACKERS-2.md](BACKERS-2.md).  Thanks to all of\nyou who made this possible!\n\n## Usage\n\nDetailed API docs are contained in the [doc](doc) subfolder of this repository.\n\nIn general the way you use js-git is you create a JS object and then mixin the\nfunctionality you need.  Here is an example of creating an in-memory database,\ncreating some objects, and then walking that tree using the high-level walker\nAPIs.\n\n## Creating a repo object.\n\n```js\n// This provides symbolic names for the octal modes used by git trees.\nvar modes = require('js-git/lib/modes');\n\n// Create a repo by creating a plain object.\nvar repo = {};\n\n// This provides an in-memory storage backend that provides the following APIs:\n// - saveAs(type, value) => hash\n// - loadAs(type, hash) => hash\n// - saveRaw(hash, binary) =>\n// - loadRaw(hash) => binary\nrequire('js-git/mixins/mem-db')(repo);\n\n// This adds a high-level API for creating multiple git objects by path.\n// - createTree(entries) => hash\nrequire('js-git/mixins/create-tree')(repo);\n\n// This provides extra methods for dealing with packfile streams.\n// It depends on\n// - unpack(packStream, opts) => hashes\n// - pack(hashes, opts) => packStream\nrequire('js-git/mixins/pack-ops')(repo);\n\n// This adds in walker algorithms for quickly walking history or a tree.\n// - logWalk(ref|hash) => stream<commit>\n// - treeWalk(hash) => stream<object>\nrequire('js-git/mixins/walkers')(repo);\n\n// This combines parallel requests for the same resource for effeciency under load.\nrequire('js-git/mixins/read-combiner')(repo);\n\n// This makes the object interface less strict.  See it's docs for details\nrequire('js-git/mixins/formats')(repo);\n```\n\n## Generators vs Callbacks\n\nThere are two control-flow styles that you can use to consume js-git APIs.  All\nthe examples here use `yield` style and assume the code is contained within a\ngenerator function that's yielding to a tool like [gen-run](https://github.com/creationix/gen-run).\n\nThis style requires ES6 generators.  This feature is currently in stable Firefox,\nin stable Chrome behind a user-configurable flag, in node.js 0.11.x or greater\nwith a command-line flag.\n\nAlso you can use generators on any ES5 platform if you use a source transform\nlike Facebook's [regenerator](http://facebook.github.io/regenerator/) tool.\n\nYou read more about how generators work at [Generators vs Fibers](http://howtonode.org/generators-vs-fibers).\n\n```js\nvar run = require('gen-run');\n\nrun(function*() {\n // Blocking logic goes here.  You can use yield\n var result = yield someAction(withArgs);\n // The generator pauses at yield and resumes when the data is available.\n // The rest of your process is not blocked, just this generator body.\n // If there was an error, it will throw into this generator.\n});\n```\n\nIf you can't use this new feature or just plain prefer node-style callbacks, all\njs-git APIs also support that.  The way this works is actually quite simple.\nIf you don't pass in the callback, the function will return a partially applied\nversion of your call expecting just the callback.\n\n```js\nsomeAction(withArgs, function (err, value) {\n  if (err) return handleMyError(err);\n  // do something with value\n});\n\n// The function would be implemented to support both style like this.\nfunction someAction(arg, callback) {\n  if (!callback) return someAction.bind(this, arg);\n  // We now have callback and arg\n}\n```\n\n## Basic Object Creation\n\nNow we have an in-memory git repo useful for testing the network operations or\njust getting to know the available APIs.\n\nIn this example, we'll create a blob, create a tree containing that blob, create\na commit containing that tree.  This shows how to create git objects manually.\n\n```js\n  // First we create a blob from a string.  The `formats` mixin allows us to\n  // use a string directly instead of having to pass in a binary buffer.\n  var blobHash = yield repo.saveAs(\"blob\", \"Hello World\\n\");\n\n  // Now we create a tree that is a folder containing the blob as `greeting.txt`\n  var treeHash = yield repo.saveAs(\"tree\", {\n    \"greeting.txt\": { mode: modes.file, hash: blobHash }\n  });\n\n  // With that tree, we can create a commit.\n  // Again the `formats` mixin allows us to omit details like committer, date,\n  // and parents.  It assumes sane defaults for these.\n  var commitHash = yield repo.saveAs(\"commit\", {\n    author: {\n      name: \"Tim Caswell\",\n      email: \"tim@creationix.com\"\n    },\n    tree: treeHash,\n    message: \"Test commit\\n\"\n  });\n\n```\n\n## Basic Object Loading\n\nWe can read objects back one at a time using `loadAs`.\n\n```js\n// Reading the file \"greeting.txt\" from a commit.\n\n// We first read the commit.\nvar commit = yield repo.loadAs(\"commit\", commitHash);\n// We then read the tree using `commit.tree`.\nvar tree = yield repo.loadAs(\"tree\", commit.tree);\n// We then read the file using the entry hash in the tree.\nvar file = yield repo.loadAs(\"blob\", tree[\"greeting.txt\"].hash);\n// file is now a binary buffer.\n```\n\nWhen using the `formats` mixin there are two new types for `loadAs`, they are\n`\"text\"` and `\"array\"`.\n\n```js\n// When you're sure the file contains unicode text, you can load it as text directly.\nvar fileAsText = yield repo.loadAs(\"text\", blobHash);\n\n// Also if you prefer array format, you can load a directory as an array.\nvar entries = yield repo.loadAs(\"array\", treeHash);\nentries.forEach(function (entry) {\n  // entry contains {name, mode, hash}\n});\n```\n\n## Using Walkers\n\nNow that we have a repo with some minimal data in it, we can query it.  Since we\nincluded the `walkers` mixin, we can walk the history as a linear stream or walk\nthe file tree as a depth-first linear stream.\n\n```js\n// Create a log stream starting at the commit we just made.\n// You could also use symbolic refs like `refs/heads/master` for repos that\n// support them.\nvar logStream = yield repo.logWalk(commitHash);\n\n// Looping through the stream is easy by repeatedly calling waiting on `read`.\nvar commit, object;\nwhile (commit = yield logStream.read(), commit !== undefined) {\n\n  console.log(commit);\n\n  // We can also loop through all the files of each commit version.\n  var treeStream = yield repo.treeWalk(commit.tree);\n  while (object = yield treeStream.read(), object !== undefined) {\n    console.log(object);\n  }\n\n}\n```\n\n## Filesystem Style Interface\n\nIf you feel that creating a blob, then creating a tree, then creating the parent\ntree, etc is a lot of work to save just one file, I agree.  While writing the\ntedit app, I discovered a nice high-level abstraction that you can mixin to make\nthis much easier.  This is the `create-tree` mixin referenced in the above\nconfig.\n\n```js\n// We wish to create a tree that contains `www/index.html` and `README.me` files.\n// This will create these two blobs, create a tree for `www` and then create a\n// tree for the root containing `README.md` and the newly created `www` tree.\nvar treeHash = yield repo.createTree({\n  \"www/index.html\": {\n    mode: modes.file,\n    content: \"<h1>Hello</h1>\\n<p>This is an HTML page?</p>\\n\"\n  },\n  \"README.md\": {\n    mode: modes.file,\n    content: \"# Sample repo\\n\\nThis is a sample\\n\"\n  }\n});\n```\n\nThis is great for creating several files at once, but it can also be used to\nedit existing trees by adding new files, changing existing files, or deleting\nexisting entries.\n\n```js\nvar changes = [\n  {\n    path: \"www/index.html\" // Leaving out mode means to delete the entry.\n  },\n  {\n    path: \"www/app.js\", // Create a new file in the existing directory.\n    mode: modes.file,\n    content: \"// this is a js file\\n\"\n  }\n];\n\n// We need to use array form and specify the base tree hash as `base`.\nchanges.base = treeHash;\n\ntreeHash = yield repo.createTree(changes);\n```\n\n## Creating Composite Filesystems\n\nThe real fun begins when you create composite filesystems using git submodules.\n\nThe code that handles this is not packaged as a repo mixin since it spans several\nindependent repos.  Instead look to the [git-tree](https://github.com/creationix/git-tree)\nrepo for the code.  It's interface is still slightly unstable and undocumented\nbut is used in production by tedit and my node hosting service that complements tedit.\n\nBasically this module allows you to perform high-level filesystem style commands\non a virtual filesystem that consists of many js-git repos.  Until there are\nproper docs, you can see how tedit uses it at <https://github.com/creationix/tedit-app/blob/master/src/data/fs.js#L11-L21>.\n\n## Mounting Github Repos\n\nI've been asking Github to enable CORS headers to their HTTPS git servers, but\nthey've refused to do it.  This means that a browser can never clone from github\nbecause the browser will disallow XHR requests to the domain.\n\nThey do, however, offer a REST interface to the raw [git data](https://developer.github.com/v3/git/).\n\nUsing this I wrote a mixin for js-git that uses github *as* the backend store.\n\nCode at <https://github.com/creationix/js-github>. Usage in tedit can be seen at\n<https://github.com/creationix/tedit-app/blob/master/src/data/fs.js#L31>.\n","_attachments":{},"homepage":"https://github.com/creationix/js-git#readme","bugs":{"url":"https://github.com/creationix/js-git/issues"},"license":"MIT"}