Skip to content
/ Gitane Public

Easy Node.JS Git wrapper with support for arbitrary SSH keys

License

Notifications You must be signed in to change notification settings

niallo/Gitane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gitane

Gitane bicycle

Build Status

Easy Node.JS Git wrapper with support for SSH keys. By default, the Git CLI tool will only use the SSH key of the current user (e.g. $HOME/.ssh/id_dsa).

In order to be able to use Git with an arbitrary SSH key, a wrapper shell script to invoke ssh -i <key> must be written and the GIT_SSH environment variable must point to that script.

Gitane wraps all this plumbing for you. Simply pass the SSH private key you wish to run Git with as a string argument and let Gitane do the rest. Gitane will clean up the temporary wrapper script after it is done.

Installation

Gitane is available in NPM. npm install gitane

Example

  var fs = require('fs')
  var gitane = require('gitane')
  var path = require('path')

  // Use current working dir
  var baseDir = process.cwd()
  // Read private key from ~/.ssh/id_dsa
  var privKey = fs.readFileSync(path.join(process.env.HOME, '.ssh/id_dsa'), 'utf8')

  gitane.run(baseDir, privKey, "git clone git://github.com/niallo/Gitane.git",
    function(err, stdout, stderr, exitCode) {
    if (err) {
      console.log("An error occurred: " + stderr)
      process.exit(1)
    }

    console.log("Git clone complete!")
  })

Tests

Gitane comes with tests. To run, simply execute npm test.

License

Gitane is released under a BSD license.

Credits

Picture of Gitane fixie CC-BY Herb Real from http://www.flickr.com/photos/herbrealphotography/3593701411/

About

Easy Node.JS Git wrapper with support for arbitrary SSH keys

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •