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
.parentsstring[]
.authorUserTimeInfo
.committerUserTimeInfo
.messagestring
.hashstring
Interface
FileInfo
Source code:
<>
Properties:
.mode
number
.hashstring
Interface
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
<>
▪ basePathstring
.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.
▪ commitHashstring
.resolve( ) ⇒string
<>
Get absolute path to file inside working copy.
▪ pathNamestring
.relative( ) ⇒string
<>
Get path to file inside working copy relative to its root.
▪ pathNamestring
.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.
▪ treeHashstring
▪ pathNamestring
.isDirty( ) ⇒Bluebird<boolean>
<>
Get promise resolving to true if file inside working tree is dirty,
false otherwise.
▪ pathNamestring
.walkLog( ) ⇒Bluebird<void>
<>
Walk the commit log from given hash towards the initial commit,
calling handler for each commit matching options.
▪ commitHashstring
▪ optionsGetLogOptions
▪ 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.
▪ hashstring
▫ options?GetLogOptions
Interface
HeadInfo
Source code:
<>
Properties:
.branch?
string
.hash?string
Interface
UserTimeInfo
Source code:
<>
Properties:
.name
string
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>
<>
▪ typestring
▪ dataStreamReadable
▫ prefix?string
License
Copyright (c) 2016 BusFaster Ltd