Published by johnhaley81 over 8 years ago
RevWalk#fastWalk
dying when an error happens in libgit2 PR #909
Published by maxkorp over 8 years ago
Published by johnhaley81 over 8 years ago
Revert.commit
and Revert.revert
to be async. [PR #887](https://github.com/nodegit/nodegit/pull/887
RevWalk#fileHistoryWalk
for a faster way to retrieve history for a specific file. [PR #889](https://github.com/nodegit/nodegit/pull/889
Published by johnhaley81 over 8 years ago
ConvenientPatch
by an order of magnitude [PR #883](https://github.com/nodegit/nodegit/pull/883
ConvenientPatch
ConvenientPatch
does not have a patch
or a delta
property associated with it, if you were using the delta
, please just use prototype methods oldFIle
, newFile
, and Status
, which are stripped directly from the delta
.ConvenientPatch#hunks
returns a promise with an array of ConvenientHunks
.ConvenientHunk
ConvenientHunk
does not have an exposed diffHunk associated with it, but does have the same members as diffHunk:
size()
: number of lines in the hunkoldStart()
: old starting positionoldLines()
: number of lines in old filenewStart()
: new starting positionnewLines()
: number of lines in new fileheaderLen()
: length of headerheader()
: returns the header of the hunklines()
: returns a promise containing DiffLines
, not ConvenientLines
.DiffLine
DiffLine
now contains the members rawContent()
and content()
.
rawContent()
contains the unformatted content of the line. This is no longer a string from the line to the end of the file.content()
contains the utf8 formatted content of the line.Published by johnhaley81 almost 9 years ago
Submodule#setIgnore
, Submodule#setUpdate
, and Submodule#setUrl
are now all async. Submodule#status
and Submodule#location
are now available PR #867 and PR #870
Remote#defaultBranch
is now available PR #872
Repository#mergeBranches
now takes in a MergeOptions
parameter PR #873
Index#addAll
faster since that is fixed in libgit2 PR #875
Published by johnhaley81 almost 9 years ago
NodeGit.enableThreadSafety()
to turn onnodegit-promise
library to be passed in. You can now use whatever you want!Repository#stageFilemode
now can accept an array of strings for files to updateSubmodule#addToIndex
, Submodule#addFinalize
, Submodule#init
, Submodule#open
, Submodule#sync
, and Submodule#update
are now all async methodsPublished by johnhaley81 almost 9 years ago
Published by maxkorp almost 9 years ago
Published by maxkorp almost 9 years ago
Published by maxkorp almost 9 years ago
Published by johnhaley81 almost 9 years ago
Published by johnhaley81 about 9 years ago
NodeGit.AnnotatedCommit.fromRevspec(repository, revspec)
NodeGit now allows finding commits by their extended sha syntax string.
NodeGit.Branch.create(repo, branchName, target, force)
No longer has signature / log message.
NodeGit.Branch.createFromAnnotated(repository, branchName, commit, force)
Creates a branch at the specified commit. Force is optional.
NodeGit.Branch.move(branch, newBranchName, force)
No longer has signature / log message.
CheckoutOptions
CheckoutStragey no longer takes NodeGit.Checkout.STRATEGY.SAFE_CREATE. Use NodeGit.Checkout.STRATEGY.SAFE | NodeGit.Checkout.STRATEGY.RECREATE_MISSING in its place.
CloneOptions
Clone Options no longer contains a RemoteCallbacks field, and instead contains a FetchOptions field which contains a RemoteCallbacks field.
This affects the any and all clone operations which were using RemoteCallbacks.
Commit.prototype.headerField(field)
Returns a field from the headers of a commit.
Config.prototype.getString(name)
Config.prototype.getString() is deprecated and is no longer in the API. Use Config.prototype.getStringBuf(name) instead.
NodeGit.Cred.sshKeyMemoryNew(username, publickey, privatekey, passphrase)
Returns a credentials object for the given username, publickey, privatekey, passphrase which are all strings.
NodeGit.Diff.blobToBuffer(buffer_as_path, options, file_cb, binary_cb, hunk_cb, line_cb, payload)
Diff.blobToBuffer now takes an additional argument binary_cb which is the binary callback. Binary callback will be called for binary diffs.
FetchOptions
FetchOptions now contains a RemoteCallbacks field called callbacks.
Fields:
NodeGit.Index.entryIsConflict(entry)
Returns 1 if the index entry is a conflict, 0 if it is not. Entry is of type NodeGit.Index.IndexEntry
Rebase.protype.abort()
No longer has signature / log message.
Rebase.prototype.operationCurrent()
Rebase.prototype.currentOperation no longer returns 0 when a rebase has been initialized, but not started. (0th step of the rebase). It now returns either the maximum value of unsigned integer 32 or 64 depending on the bits of the operating machine.
NodeGit.Rebase.init(repository, branch, upstream, onto, options)
Rebase.init no longer takes signature argument. branch can now be set to NULL to rebase the current branch.
Rebase.prototype.next()
Rebase.prototype.next no longer takes any arguments.
NodeGit.Rebase.open(repository, options)
Rebase.open now takes a RebaseOptions parameter to specify how the rebase should be performed.
RebaseOptions
RebaseOptions now has a CheckoutOptions field named checkoutOptions. You can set the strategy for the way rebase checks out using it.
NodeGit.Reference.create(repo, name, id, force, logMessage)
No longer takes signature argument
NodeGit.Reference.createMatching(repo, name, id, force, currentId, logMessage)
No longer takes signature argument
Reference.prototype.rename(newName, force, logMessage)
No longer takes signature argument
Reference.prototype.setTarget(fromCommitOid, message)
Reference.prototype.setTarget no longer takes signature as an argument.
Reference.prototype.symbolicCreate(repo, name, target, force, logMessage)
No longer takes signature argument
Reference.prototype.symbolicCreateMatching(name, target, force)
No longer has signature / log message.
Reference.prototype.symbolicSetTarget(name, logMessage)
Reference.prototype.symbolicSetTarget no longer takes 3 arguments and only takes name, and logMessage.
NodeGit.Remote.addFetch(repo, remote, refspec)
Now changes the repository's configuration
NodeGit.Remote.addPush(repo, remote, refspec)
Now changes the repository's configuration
Remote.prototype.clearRefspecs()
Deprecated, no longer exists.
Remote.connect(direction, callbacks)
Now takes callbacks.
NodeGit.Remote.createAnonymous(repo, url)
No longer takes refspecs argument.
Remote.prototype.download(refspecs, opts)
Remote.prototype.download now takes an options parameter.
Remote.prototype.fetch(refspecs, opts, reflog_message)
Remote.prototype.fetch now takes an options parameter.
Remote.prototype.prune(callbacks)
Now takes callbacks.
Remote.prototype.push(refspecs, opts)
Remote.prototype.push now takes an options parameter.
Remote.prototype.save()
Deprecated, no longer exists.
NodeGit.Remote.setAutoTag(repo, remote, value)
Now changes the repository's configuration
Remote.prototype.setCallbacks()
Deprecated, no longer exists. Now pass callbacks as part of FetchOptions parameters in Remote method calls.
Remote.prototype.setFetchRefspecs()
Deprecated, no longer exists.
Remote.prototype.setPushRefspecs()
Deprecated, no longer exists.
Remote.prototype.setPushurl(repository, remote, url)
Remote.prototype.setPushurl takes 3 arguments, where remote is the name of the remote. In order for the change to take effect, you will need to lookup the remote again.
Remote.prototype.setTransport()
Deprecated, no longer exists.
NodeGit.Remote.setUrl(repo, remote, url)
Now changes the repository's configuration
Remote.prototype.updateTips(callbacks, updateFetchhead, downloadTags, reflogMessage)
No longer takes signature argument, takes a NodeGit.Remote.Callbacks object
Repository.prototype.createBranch(name, commit, force)
Repository.prototype.createBranch no longer takes 5 arguments, it now just takes name, commit, and force.
Repository.prototype.detachHead()
No longer has signature / log message.
Repository.prototype.fetch(remote, fetchOptions, callback)
Repository.prototype.fetch now no longer takes autoTag, remoteCallbacks, or pruneAfter arguments. AutoTag, pruneAfter, and remoteCallbacks can all be assigned through fetchOptions.
Repository.prototype.fetchAll(fetchOptions, callback)
Repository.prototype.fetchAll no longer takes autoTag and pruneAfter. See api changes relating to fetch options.
Repository.prototype.setHead(name)
Repository.prototype.setHead no longer takes 3 arguments and only takes name.
Repository.prototype.setHeadDetached(commit)
No longer has signature / log message.
Repository.prototype.setHeadDetachedFromAnnotated(commit)
Makes the repostiory head directly point to the commit
NodeGit.Reset.reset(repo, target, resetType, opts)
Reset.reset now takes 4 arguments, and no longer takes signature or logMessage. Opts is a CheckoutOptions
NodeGit.Reset.resetFromAnnotated(repo, commit, resetType, opts)
Works the same way as reset, but takes an annotated commit as the target. Allows for more exact reflogs.
StashApplyOptions
Fields
ApplyProgress
Values:
NodeGit.Stash.apply(repo, index, options)
Applies the stash at the specified index with the specified ApplyStashOptions. Apply will leave the stash in tact. Index 0 is the most recent stash.
NodeGit.Stash.FLAGS
Fields:
NodeGit.Stash.drop(repo, index)
Drops the stash at index.
NodeGit.Stash.pop(repo, index, options)
Applies the stash at the specified index with the specified ApplyStashOptions, and on success, erases the stash at that index.
NodeGit.Stash.save(repo, owner, message, flags)
Stashes changes to the working directory. Owner is a signature type. Message is the name of the stash. For flags, see NodeGit.Stash.FLAGS.
NodeGit.Submodule.reloadAll()
Deprecated, no longer exists.
Submodule.prototype.save()
Deprecated, no longer exists.
NodeGit.Submodule.setFetchRecurseSubmodules(repo, name, fetchRecurseSubmodules)
NodeGit.Submodule.setIgnore(repo, name, ignore)
NodeGit.Submodule.setUpdate(repo, name, update)
NodeGit.Submodule.setUrl(repo, name, url)
Changes the repository's configuration.
Published by maxkorp over 9 years ago
Several Fixes, primarily:
Published by tbranyen over 9 years ago
We've made a lot of solid progress and this version includes a number of changes.
Most notable:
Repository.prototype.mergeBranches
Successfully upgraded all dependencies except for nan, bumping to ~1.8 caused breakage in Linux 0.12.
Published by johnhaley81 over 9 years ago
Some dev dependencies weren't being downloaded correctly with some configurations. This will force a download of all dev dependencies in the situation that we have to build.
No API changes.
Published by johnhaley81 over 9 years ago
This release fixes the build process when installing to atom-shell or nw.js in node.js 0.12. No API changes.
Published by tbranyen over 9 years ago
We had a regression where node-pre-gyp
would not attempt to fetch from S3 when installing from NPM. This has been fixed in this version. No API changes in this release.
Published by johnhaley81 over 9 years ago
Big update!!
Updated to libgit2 v0.22.1. This release contains breaking API changes. Most noteworthy is the change to how certificate errors are handled during authentication.
For more details check out the change log: http://www.nodegit.org/changelog/#v0-3-0