nodegit

Native Node bindings to Git.

MIT License

Downloads
107K
Stars
5.6K
Committers
165
nodegit - v0.25.0-alpha.6 (2019-02-14)

Published by implausible over 5 years ago

Summary of changes

  • Bumped LibGit2 to v0.28.0.
  • Fixed problem with continue rebase preventing users from skipping commits
  • Fixed leak where struct/option types were leaking libgit2 pointers
nodegit - Backport v0.24.1 (2019-02-11)

Published by implausible over 5 years ago

Summary of changes

  • Fix Electron 4 builds
nodegit - Backport v0.23.1 (2019-02-11)

Published by implausible over 5 years ago

Summary of changes

  • Fix Electron 4 builds
nodegit - v0.25.0-alpha.5 (2018-02-11)

Published by implausible over 5 years ago

Summary of changes

  • Fixed builds for Electron 4 for real this time

Merged PRs into NodeGit

nodegit - v0.25.0-alpha.4 (2019-02-08)

Published by implausible over 5 years ago

Summary of changes

  • Fixed bug where signing the init commit failed due to being unable to update the HEAD ref.
  • Changed NodeGit.Signature.default to async, because it actually ends up reading the config.
  • Fixed bug where templates were not reporting errors for synchronous methods. It's a bit of a wide net, but in general,
    it is now possible certain sync methods in NodeGit will begin failin that did not fail before. This is the correct
    behavior.
  • Switched NodeGit.Oid.fromString's internal implementation from git_oid_fromstr to git_oid_fromstrp
  • Fixed builds for Electron 4
  • Added NodeGit.Reference.updateTerminal

Merged PRs into NodeGit

nodegit - v0.25.0-alpha.3 (2019-02-05)

Published by implausible over 5 years ago

Summary of changes

  • Enforced consistent use of signing callbacks within the application. Any object that implements the signingCallback
    pattern for signing commits or tags should use the exact same callback type and with the same meaning.
    type SigningCallback = (content: string) => {| code: number, field?: string, signedData?: string |};
    If the code is NodeGit.Error.CODE.OK or 0, the operation will succeed and at least signedData is expected to be filled out.
    If the code is a negative number, except for NodeGit.Error.CODE.PASSTHROUGH, the signing operation will fail.
    If the code is NodeGit.Error.CODE.PASSTHROUGH, the operation will continue without signing the object.

Merged PRs into NodeGit

nodegit - v0.25.0-alpha.2 (2019-02-01)

Published by implausible over 5 years ago

Summary of changes

  • Added RebaseOptions to repository.prototype.rebaseContinue

Merged PRs into NodeGit

nodegit - v0.25.0-alpha.1 (2019-01-30)

Published by implausible over 5 years ago

Summary of changes

  • Bump Libgit2 to preview of v0.28.0
  • Add signing support for commits and annotated tags
  • Updated Signature.prototype.toString to optionally include timestamps
  • [BREAKING] Converted Buf.prototype.set and Buf.prototype.grow from async to sync
  • Added complete support for libgit2 types:
    • git_index_name_entry
    • git_index_reuc_entry
    • git_mailmap
  • Exposed git_path_is_gitfile
  • Exposed git_tag_create_frombuffer

Merged PRs into NodeGit

nodegit - v0.24.0 (2019-01-16)

Published by implausible almost 6 years ago

Summary of changes

  • Garbage collect most of the library.
  • All free functions have been removed. The expectation is that they will be collected by the GC.
  • All init options methods have been removed. They were never supposed to be exposed in the first place.
  • Added support for performing history walks on directories.
  • Fix various bugs that led to segfaults or incorrect behavior.
  • Removed ssl and crypto dependency from non-electron builds.
Removed methods

Mostly due to missing support anyway, please report anything you were using as an issue.

  • NodeGit.Blob.createFromStreamCommit
  • NodeGit.Branch.Iterator.prototype.new
  • NodeGit.Config.initBackend
  • NodeGit.Config.prototype.snapshot
  • NodeGit.Config.prototype.setBool
  • NodeGit.Config.prototype.setInt32
  • NodeGit.Config.prototype.setInt64
  • NodeGit.Index.prototype.owner
  • NodeGit.Note.iteratorNew
  • NodeGit.Note.next
  • NodeGit.Odb.prototype.addDiskAlternate
  • NodeGit.Repository.prototype.configSnapshot
  • NodeGit.Signature.prototype.dup
  • NodeGit.Tag.foreach
  • NodeGit.Transport.init
  • NodeGit.Transport.sshWithPaths
  • NodeGit.Transport.unregister
Newly exposed methods:
  • NodeGit.Config.prototype.getEntry
  • NodeGit.Config.prototype.snapshot
  • NodeGit.Config.prototype.refresh
  • NodeGit.Config.prototype.setBool
  • NodeGit.Config.prototype.setInt32
  • NodeGit.Config.prototype.setInt64
  • NodeGit.Diff.prototype.isSortedIcase
  • NodeGit.DiffStats.prototype.deletions
  • NodeGit.DiffStats.prototype.filesChanged
  • NodeGit.DiffStats.prototype.insertions
  • NodeGit.DiffStats.prototype.toBuf
  • NodeGit.Odb.hashfile
  • NodeGit.Odb.prototype.readPrefix
  • NodeGit.OidShorten.prototype.add
  • NodeGit.OidShorten.create
  • NodeGit.PathspecMatchList.prototype.diffEntry
  • NodeGit.PathspecMatchList.prototype.entry
  • NodeGit.PathspecMatchList.prototype.entrycount
  • NodeGit.PathspecMatchList.prototype.failedEntry
  • NodeGit.PathspecMatchList.prototype.failedEntryCount
Newly exposed types
  • NodeGit.DescribeFormatOptions
  • NodeGit.DiffStats
  • NodeGit.OidShorten
  • NodeGit.PathspecMatchList

Merged PRs into NodeGit

nodegit - v0.23.0 (2018-10-24)

Published by implausible about 6 years ago

Summary of changes

  • Added Node 10 support.
  • We no longer compile OpenSSL. Instead, we prefer the OpenSSL shipped with Node. In electron builds, we prefer the system openssl on linux, and we get prebuilt static libs from Conan.
  • Cleaned up some compiler warnings
  • Our http_parser dependency is now a submodule.
  • Updated some dependencies in npm to get rid of security vulnerabilities and warnings.
  • Exposed transfer progress callback for pushing.
  • Libssh2 is now preconfigured for both Mac OS and Windows

Merged PRs into NodeGit

nodegit - v0.23.0-alpha.2 (2018-10-19)

Published by implausible about 6 years ago

Summary of changes

On Mac OS Mojave, libssh2 configure failed to configure, because libssh2 always tries to configure against system libraries. The configure process uses links to determine that a OpenSSL is present. Since OSX and Windows no longer link against the system lib, we've prebuilt the configure steps for both environments. This should be stable when building NodeGit on Mojave.

Merged PRs into NodeGit

nodegit - v0.23.0-alpha.1 (2018-10-01)

Published by implausible about 6 years ago

Summary of changes

  • Added Node 10 support.
  • We no longer compile OpenSSL. Instead, we prefer the OpenSSL shipped with Node. In electron builds, we prefer the system openssl on linux, and we get prebuilt static libs from Conan.
  • Cleaned up some compiler warnings
  • Our http_parser dependency is now a submodule.
  • Updated some dependencies in npm to get rid of security vulnerabilities and warnings.
  • Exposed transfer progress callback for pushing.

Merged PRs into NodeGit

nodegit - v0.22.2 (2018-07-10)

Published by implausible over 6 years ago

Summary of changes

Merged PRs into NodeGit

Included non-merged libgit2 PRs:

Included merged libgit2 PRs:

nodegit - v0.22.1 (2018-05-31)

Published by implausible over 6 years ago

Summary of changes

Bumped libgit2 to 0.27.1 to address security flaw with submodule name validation (CVE-2018-11235, reported by Etienne Stalmans).
Details can be found here https://github.com/libgit2/libgit2/releases/tag/v0.27.1.

nodegit - v0.22.0 (2018-04-09)

Published by implausible over 6 years ago

Summary of changes

  • Expose Tag.listMatch
  • Expose Repo.prototype.createCommitBuffer
  • Bump Libgt2 to 0.27.0. For more information about what was in this release. Check upstream.
  • Errors are now properly thrown from
    • Attr.prototype.get
    • Blob.createFrombuffer
    • Blob.createFromworkdir
    • Reference.list
    • Remote.prototype.getFetchRefspecs
    • Remote.prototype.getPushRefspecs
    • Status.file
  • WorkTree is now exposed
    • Static methods
      • add
      • list
      • lookup
      • openFromRepository
    • Instance methods
      • isLocked
      • isPrunable
      • lock
      • prune
      • unlock
      • validate
  • BREAKING Functions that are now async
    • Attr.prototype.getMany
    • Tag.prototype.target
    • Treebuilder.prototype.Write
  • BREAKING Diffs generated from Diff.treeToIndex and Diff.treeToWorkdirWithIndex conditionally support Diff.OPTION.IGNORE_CASE. Only on repositories where the index is case insensitive will the flag be set on the output diff. The flag itself is ignored when passed to DiffOptions.

Merged PRs into NodeGit

Included non-merged libgit2 PRs:

nodegit - v0.21.2 (2018-03-19)

Published by rcjsuen over 6 years ago

Summary of changes

  • Dropped support for Node.js 7.x
  • Fixed an issue where a fast-forward rebase would unexpectedly throw an error
  • Exposed git_commit_extract_signature
  • TreeEntry.prototype.path() will now always return POSIX-style path segment separators
  • Exposed git_config_open_ondisk
  • Exposed git_config_find_global
  • Exposed git_config_find_system
  • Exposed git_config_find_xdg
  • Exposed git_config_get_path

Summary of changes to NodeGit:

nodegit - v0.21.1 (2018-03-05)

Published by rcjsuen over 6 years ago

Summary of changes

  • Fixed an issue where having HTML escape characters in the path portion of an SSH URL always fails when performing remote actions.

Included non-merged libgit2 PRs:

nodegit - v0.20.3 (2017-10-18)

Published by implausible over 6 years ago

Summary of changes outside of libgit2 bump:

Included merged libgti2 PRs:

Included non-merged libgit2 PRs:

nodegit - v0.20.2 (2017-09-13)

Published by implausible over 6 years ago

Package Rankings
Top 0.75% on Npmjs.org
Top 20.38% on Repo1.maven.org
Badges
Extracted from project README
Actions Status
Related Projects