unique-commit-id
v1.0.0
Published
Get short unique IDs for commits on Git repositories.
Downloads
425
Readme
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 tofalse
, 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 withnpm 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.