node/deps/npm/node_modules/normalize-git-url
Kat Marchán f41b7f12b5 deps: upgrade to npm 2.11.1
PR-URL: https://github.com/nodejs/io.js/pull/1899
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Forrest L Norvell <forrest@npmjs.com>
2015-06-10 09:05:54 -07:00
..
test npm: upgrade to v2.1.18 2015-01-08 23:49:03 +01:00
.npmignore npm: upgrade to v2.1.18 2015-01-08 23:49:03 +01:00
CHANGELOG.md npm: upgrade to v2.1.18 2015-01-08 23:49:03 +01:00
LICENSE deps: upgrade npm to 2.11.0 2015-05-30 08:15:11 -04:00
README.md npm: upgrade to v2.1.18 2015-01-08 23:49:03 +01:00
normalize-git-url.js npm: upgrade to v2.1.18 2015-01-08 23:49:03 +01:00
package.json deps: upgrade npm to 2.11.0 2015-05-30 08:15:11 -04:00

README.md

normalize-git-url

You have a bunch of Git URLs. You want to convert them to a canonical representation, probably for use inside npm so that it doesn't end up creating a bunch of superfluous cached origins. You use this package.

Usage

var ngu = require('normalize-git-url');
var normalized = ngu("git+ssh://git@github.com:organization/repo.git#hashbrowns")
// get back:
// {
//   url : "ssh://git@github.com/organization/repo.git",
//   branch : "hashbrowns" // did u know hashbrowns are delicious?
// }

API

There's just the one function, and all it takes is a single parameter, a non-normalized Git URL.

normalizeGitUrl(url)

  • url {String} The Git URL (very loosely speaking) to be normalized.

Returns an object with the following format:

  • url {String} The normalized URL.
  • branch {String} The treeish to be checked out once the repo at url is cloned. It doesn't have to be a branch, but it's a lot easier to intuit what the output is for with that name.

Limitations

Right now this doesn't try to special-case GitHub too much -- it doesn't ensure that .git is added to the end of URLs, it doesn't prefer https: over http: or ssh:, it doesn't deal with redirects, and it doesn't try to resolve symbolic names to treeish hashcodes. For now, it just tries to account for minor differences in representation.