ts-git v0.1.0
ts-git
This is a compact high-level JavaScript API for git. No git installation is needed.
It wraps the low-level js-git API to investigate
working copies of repositories stored in the local filesystem, much like the git
command line tool is often used.
Features
The main high-level operations are:
- Get info (hash, message, time and author) for any commit (
getCommit
). - Get logs with commit info working backwards from any commit (
getLog
).- Optionally filtered to only include commits with changes to a particular file (stopping at renames).
- Check if a particular file in the working tree has changed since the latest commit (
isDirty
).
API
Docs generated using docts
Interface
CommitInfo
Source code:
<>
Properties:
.tree string
.parents string[]
.author UserTimeInfo
.committer UserTimeInfo
.message string
.hash stringInterface
FileInfo
Source code:
<>
Properties:
.mode number
.hash stringInterface
GetLogOptions
Filtering options for retrieving logs.
Source code:<>
Properties:
.path? string
Only match commits where file at path was changed.
.count? number
Only match up to given number of commits.Class
Git
Source code:
<>
Methods:
new( ) ⇒ Git
<>
▪ basePath string
.getWorkingHead( ) ⇒ Bluebird<HeadInfo><>
Get promise resolving to the hash of current working tree HEAD commit.
.getCommit( ) ⇒ Bluebird<CommitInfo><>
Get info for commit based on its hash.
▪ commitHash string
.resolve( ) ⇒ string<>
Get absolute path to file inside working copy.
▪ pathName string
.relative( ) ⇒ string<>
Get path to file inside working copy relative to its root.
▪ pathName string
.findPath( ) ⇒ Bluebird<FileInfo><>
Get info for file at pathName inside tree. Tree is a hash
pointing to the contents of a commit, defined in the commit's info.
▪ treeHash string
▪ pathName string
.isDirty( ) ⇒ Bluebird<boolean><>
Get promise resolving to true if file inside working tree is dirty,
false otherwise.
▪ pathName string
.walkLog( ) ⇒ Bluebird<void><>
Walk the commit log from given hash towards the initial commit,
calling handler for each commit matching options.
▪ commitHash string
▪ options GetLogOptions
▪ handler (entry: CommitInfo) => void
.getLog( ) ⇒ Bluebird<CommitInfo[]><>
Get promise resolving to a list of commits matching options,
in reverse topological / chronological order
from given hash towards the initial commit.
▪ hash string
▫ options? GetLogOptionsInterface
HeadInfo
Source code:
<>
Properties:
.branch? string
.hash? stringInterface
UserTimeInfo
Source code:
<>
Properties:
.name string
.email string
.date { seconds: number; offset: number; }Function
getHash
Get promise resolving to desired type of hash (eg. sha1) for contents of stream.
Optionally prefix contents with an arbitrary header before hashing.
Source code:<>
getHash( ) ⇒ Bluebird<string>
<>
▪ type string
▪ dataStream Readable
▫ prefix? string
License
Copyright (c) 2016 BusFaster Ltd