ts-git
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

ts-git

build status dependency status npm version

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 string

Interface FileInfo

Source code: <>

Properties:

.mode number
.hash string

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 <>
 ▪ 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? GetLogOptions

Interface HeadInfo

Source code: <>

Properties:

.branch? string
.hash? string

Interface 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

The MIT License

Copyright (c) 2016 BusFaster Ltd

Readme

Keywords

none

Package Sidebar

Install

npm i ts-git

Weekly Downloads

3

Version

0.1.0

License

MIT

Last publish

Collaborators

  • jjrv