1.0.0 • Published 4 years ago

unique-commit-id v1.0.0

Weekly downloads
17
License
MIT
Repository
github
Last release
4 years ago

Get short unique IDs for commits on Git repositories.

Download

Unique Commit ID can be downloaded from NPM with the command:

npm install unique-commit-id

or:

yarn add unique-commit-id

Basic Example

Basic example to get unique ID of the latest commit on the current repository:

const ucid = require('unique-commit-id');

const latestCommit = ucid.latest(); // ex: '01ef00a'

console.log('Latest commit: ' + latestCommit);

Get ID of Latest Commit

The ucid.latest([repoPath], [options]) function is used to get the ID of the latest commit in a repository.

The optional repoPath argument is used to specify a path to the Git repo to get the latest commit ID from. The repoPath can link to anywhere inside a Git repo in which the git command can successfully be run and used in a repository. If not specified, the function will simply get the latest commit ID from the Git repo in the current directory.

Get ID of All Commits

The ucid.all([repoPath], [options]) function is used to get an array of IDs of commits in a repository.

The returned array is a list of Strings of commit IDs, with the first commit being at the first index, and the latest commit being at the last index.

Similar to the argument in the ucid.latest function, the optional repoPath argument is used to specify a path to the Git repo to get the latest commit ID from. The repoPath can link to anywhere inside a Git repo in which the git command can successfully be run and used in a repository. If not specified, the function will simply get the latest commit ID from the Git repo in the current directory.

options argument

The options argument in some functions is an object which can include the following options:

  • abbreviate default: true. When set to false, commit IDs are not abbreviated and are returned at their full length.

Here is an example function call with an options argument:

const ucid = require('unique-commit-id');

const latestCommitFull = ucid.latest('./', {
  abbreviate: false
});

console.log('Latest commit in full length: ' + latestCommit);

Tests

Run npm run test to run tests. To see test coverage along with running tests, run npm run test-with-coverage.

Make sure Git is installed on the machine running tests and that the git command is accessible.

There is a test case for testing various functions in a directory that is not a Git repo. For this, the parent directory of the clone of this repo is used. So, make sure the parent directory of the clone of this repo is not a git repo.

Third Party Software Used

  • Mocha and Chai for testing and assertion
  • NYC for test coverage

File Structure

  • test includes tests and test directories that are run with npm run test.
  • src the main code for the package.
  • logo used at the top of the README.

License and Credits

Unique Commit ID was built solely by web developer and student Fred Adams.

The code is completely OSS and is MIT Licensed. See LICENSE.txt for details.