diff --git a/.gitignore b/.gitignore
index 5529ab114..97ce4d796 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,6 @@
.vscode
jsconfig.json
+
+test/id_rsa
+test/nodegit-test-rsa
diff --git a/.travis.yml b/.travis.yml
index 893931485..813b86c1b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -79,8 +79,8 @@ install:
# This is a random private key used purely for testing.
before_script:
- echo -e "Host *\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- - echo -e "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkTcgXnHuqR0gbwegnr9Zxz4hTkjjV/SpgJNPJz7mo/HKNbx0rqjj1P0yGR053R9GSFFim2ut4NK9DPPUkQdyucw+DoLkYRHJmlJ4BNa9NTCD0sl+eSXO2969kZojCYSOgbmkCJx8mdgTwhzdgE/jhBrsY0hPE6pRTlU+H68/zeNdJUAIJf0LLXOm3hpTKLA19VICltl/j9VvBJpgRHdBylXEyL8HokYpjkQQk1ZXj3m7Nlo8yDdg4VcljOJWC+Xh8kxRMfK5x/VRVsYKCQXN5QlzKeqf7USRDUS/7mFoPUBW+d4kwKtGxRsWuIL2yeqzifZUTOgsh9+ZWAWxWffQZ your_email@example.com" > ~/.ssh/id_rsa.pub
- - echo -e "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA5E3IF5x7qkdIG8HoJ6/Wcc+IU5I41f0qYCTTyc+5qPxyjW8d\nK6o49T9MhkdOd0fRkhRYptrreDSvQzz1JEHcrnMPg6C5GERyZpSeATWvTUwg9LJf\nnklztvevZGaIwmEjoG5pAicfJnYE8Ic3YBP44Qa7GNITxOqUU5VPh+vP83jXSVAC\nCX9Cy1zpt4aUyiwNfVSApbZf4/VbwSaYER3QcpVxMi/B6JGKY5EEJNWV495uzZaP\nMg3YOFXJYziVgvl4fJMUTHyucf1UVbGCgkFzeUJcynqn+1EkQ1Ev+5haD1AVvneJ\nMCrRsUbFriC9snqs4n2VEzoLIffmVgFsVn30GQIDAQABAoIBAQDPQm2sQbti0mN8\nD4Uawl8D40v30n8WhUa7EbPTOmlqKAQ2sfDhex9KRbTLEmEBmImA/Eee8o9iCTIy\n8Fv8Fm6pUHt9G6Pti/XvemwW3Q3QNpSUkHqN0FDkgecQVqVBEb6uHo3mDm4RFINX\neOmkp30BjIK9/blEw1D0sFALLOEUPaDdPMwiXtFgqfrFSgpDET3TvQIwZ2LxxTm0\ncNmP3sCSlZHJNkZI4hBEWaaXR+V5/+C1qblDCo5blAWTcX3UzqrwUUJgFi6VnBuh\n7S9Q6+CEIU+4JRyWQNmY8YgZFaAp6IOr/kyfPxTP1+UEVVgcLn3WDYwfG9og0tmz\nfzlruAgBAoGBAPfz73Pey86tNZEanhJhbX8gVjzy2hvyhT0paHg0q/H6c1VWOtUH\nOwZ3Ns2xAZqJhlDqCHnQYSCZDly042U/theP4N8zo1APb4Yg4qdmXF9QE1+2M03r\nkS6138gU/CSCLf8pCYa6pA/GmsaXxloeJGLvT4fzOZRsVav80/92XHRhAoGBAOu2\nmKh4Gr1EjgN9QNbk9cQTSFDtlBEqO/0pTepvL73UvNp/BAn4iYZFU4WnklFVBSWc\nL84Sc732xU12TAbTTUsa6E7W29pS8u7zVTxlIdQIIU5pzDyU1pNNk2kpxzte5p3Y\nPDtniPFsoYLWoH0LpsKL93t2pLAj+IOkE6f3XBq5AoGAIKaYo5N1FxQr952frx/x\nQUpK0N/R5Ng8v18SiLG26rhmM5iVSrQXC7TrHI7wfR8a9tC6qP/NqnM9NuwC/bQ0\nEEo7/GhaWxKNRwZRkmWiSFLNGk9t1hbtGU+N1lUdFtmloPIQdRNiw0kN3JTj474Q\nYI7O1EItFORnK6yxZfR6HEECgYEA1CT7MGUoa8APsMRCXyaiq15Pb8bjxK8mXquW\nHLEFXuzhLCW1FORDoj0y9s/iuKC0iS0ROX8R/J7k5NrbgikbH8WP36UxKkYNr1IC\nHOFImPTYRSKjVsL+fIUNb1DSp3S6SsYbL7v3XJJQqtlQiDq8U8x1aQFXJ9C4EoLR\nzhKrKsECgYBtU/TSF/TATZY5XtrN9O+HX1Fbz70Ci8XgvioheVI2fezOcXPRzDcC\nOYPaCMNKA5E8gHdg4s0TN7uDvKTJ+KhSg2V7gZ39A28dHrJaRX7Nz4k6t2uEBjX9\na1JidpAIbJ+3w7+hj6L299tVZvS+Y/6Dz/uuEQGXfJg/l/5CCvQPsA==\n-----END RSA PRIVATE KEY-----" > ~/.ssh/id_rsa
+ - echo -e "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBkHMoNRRkHYNE7EnQLdFxMgVcqGgNPYDhrWiLMlYuzpmEcUnhwW3zNaIa4J2JlGkRNgYZVia1Ic1V3koJPE3YO2+exAfJBIPeb6O1qDADc2hFFHzd28wmHKUkO61yzo2ZjDQfaEVtjN39Yiy19AbddN3bzNrgvuQT574fa6Rghl2RfecKYO77iHA1RGXIFc8heXVIUuUV/jHjb56WqoHH8vyt1DqUz89oyiHq8Cku0qzKN80COheZPseA1EvT0zlIgbXBxwijN4xRmvInK0fB5Kc9r3kddH2tT7V09bOFJsvGQaQmQ1WFTCqjpBFw1CHKcbfPLOxbLpVIR9gyx03R" > ~/.ssh/id_rsa.pub
+ - echo -e "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAwZBzKDUUZB2DROxJ0C3RcTIFXKhoDT2A4a1oizJWLs6ZhHFJ\n4cFt8zWiGuCdiZRpETYGGVYmtSHNVd5KCTxN2DtvnsQHyQSD3m+jtagwA3NoRRR8\n3dvMJhylJDutcs6NmYw0H2hFbYzd/WIstfQG3XTd28za4L7kE+e+H2ukYIZdkX3n\nCmDu+4hwNURlyBXPIXl1SFLlFf4x42+elqqBx/L8rdQ6lM/PaMoh6vApLtKsyjfN\nAjoXmT7HgNRL09M5SIG1wccIozeMUZryJytHweSnPa95HXR9rU+1dPWzhSbLxkGk\nJkNVhUwqo6QRcNQhynG3zyzsWy6VSEfYMsdN0QIDAQABAoIBABsZNPYBEFy/wPvq\nNJ8/et3lCdkh/oc0ABIYK9Wo82XUKKvhDF3drZ3p+UrX/VYgf+EX9hyf8gVTuSJ3\nX1gRqDhIgeTxPsHGrwt6B6pL5ITnKEbbimuo9Ni1E+2RqUO0ZSCE/1sSRv4CRaXO\nk8HZawif7ttxv4bNUrLys6xEbpvQlOMzgs4s/OBB/XMEqnFRGPJeeTy8bkOWyTwl\nLj06nq2brs4qK4eijI/MoGy1CD8JCpL4gG39GPTXd8GpudXmdelDn1E0t9nhL6Se\naOMaiPhy7kBJD4wZ//WZTSR1XyjNBH3DGkNZxPIWcX+wJFyNoLbSbVSda/7Dtvp3\nCPfiNhECgYEA/+3JswSzcVEANNF5OLZ76x+TODkZ9T6YF4SR8/uJjNViWgUpX7vw\nmyXF+2AwzNaotbBKmNG619BcUeMmQB76c+UiMLeJuJcT/Jj0xmEUopHonGqEIcvg\nHg6cafE1is7d+l669bfjitlx+3muF2CYnylSN1LWHxIITVUj3BmcWqUCgYEAwZ45\nWdaHfK7G6GjI7liDQT4ZlslA8dmLv2Jl2ExBBMoY3m3Sre428z2ZFa4O/nsBYP0a\nDxgYmX20fQGcbPugKdCYHc7HkKbMU1GwiVCGpDYZCm2gJKTvam3dYNaiAfq5DyhP\nzDCZNJ5rrSMprXsuRv2O4c5u8qtJ5ByaOJBjOr0CgYBMlkAxzkpUssS5CaaZDiLv\nLbfEr3HRLjYdc5KpzLBQ8NpJzhmfiIJsK1Wf8B0qb2J1XJg2Oy0KwFOgPbWIoryY\nSg19Pq98Cdn1UWCOrSabr8ZIaKe55WTgGcc8/O3k6BsNfaO9PJZfSssNUlCCtml1\n18u+uo9RJPhPDBd7Gj7r8QKBgFraxWy7t24xkZMDgK4fiM/3tQhFvhz/CY2wPbxG\n5Ae8UfkmLcOCUfTIReqfd9fAnsAFZNIKa5izHRu/wsh9NwYIJSlvm8PsEVtTrPRy\nfgvWet+i24/2eYZGsag8b19gaLCNKQzXDT1czYg8RNVsRSX427BoLzXeXNkW9uNu\nFbI9AoGAV2kxcdcKS4BtNHKPeGgV87dM0DWhQaAtEXEIcQquFtba0lAXioGHg8U4\nzeiugl4Qzchwk5qd3wnZ4SOhx0s16/5gQDlnkbjFR6EREUnvLRwV92zBXUTOGIkh\nZ7Z4rcgUKlVAaHT3OHN/lTyqJG/ib+K4wZhbztl/ox+JUFsvD98=\n-----END RSA PRIVATE KEY-----" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa*
- eval `ssh-agent -s`
- ssh-add ~/.ssh/id_rsa
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2a42b6221..34623814d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,26 @@
# Change Log
+## v0.22.2 [(2018-07-10)](https://github.com/nodegit/nodegit/releases/tag/v0.22.2)
+
+[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.22.1...v0.22.2)
+
+#### Summary of changes
+- Bumped libgit2 to 0.27.3 to incorporate security patch. Details can be found here https://github.com/libgit2/libgit2/releases/tag/v0.27.3
+- Also includes changes made in 0.27.2. Details can be found here https://github.com/libgit2/libgit2/releases/tag/v0.27.2
+- Ensure optional params are respected as optional in `NodeGit.Merge.trees`
+
+#### Merged PRs into NodeGit
+- [Fix argument handling in Git.Merge.trees #1507](https://github.com/nodegit/nodegit/pull/1507)
+
+#### Included non-merged libgit2 PRs:
+ - [Parallelize checkout_create_the_new for ntfs perf gains #4205](https://github.com/libgit2/libgit2/pull/4205)
+ - [negotiate always fails via libcurl #4126](https://github.com/libgit2/libgit2/pull/4126)
+
+#### Included merged libgit2 PRs:
+- [Bugfix release v0.27.2 #4632](https://github.com/libgit2/libgit2/pull/4632)
+- [Release v0.27.3 #4717](https://github.com/libgit2/libgit2/pull/4717)
+
+
## v0.22.1 [(2018-04-09)](https://github.com/nodegit/nodegit/releases/tag/v0.22.1)
[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.22.0...v0.22.1)
diff --git a/examples/checkout-remote-branch.js b/examples/checkout-remote-branch.js
new file mode 100644
index 000000000..4ebf9050b
--- /dev/null
+++ b/examples/checkout-remote-branch.js
@@ -0,0 +1,26 @@
+var nodegit = require("../");
+var path = require("path");
+
+var remoteBranchName = "REMOTE-BRANCH-NAME";
+
+nodegit.Repository.open(path.resolve(__dirname, "../.git"))
+ .then(function(repo) {
+
+ return repo.getHeadCommit()
+ .then(function (targetCommit) {
+ return repo.createBranch(remoteBranchName, targetCommit, false);
+ })
+ .then(function (reference) {
+ return repo.checkoutBranch(reference, {});
+ })
+ .then(function () {
+ return repo.getReferenceCommit(
+ "refs/remotes/origin/" + remoteBranchName);
+ })
+ .then(function (commit) {
+ nodegit.Reset.reset(repo, commit, 3, {});
+ });
+
+ }).done(function() {
+ console.log("All done!");
+});
diff --git a/generate/input/descriptor.json b/generate/input/descriptor.json
index d309a5fd9..c26606680 100644
--- a/generate/input/descriptor.json
+++ b/generate/input/descriptor.json
@@ -1572,6 +1572,16 @@
}
}
},
+ "git_merge_trees": {
+ "args": {
+ "ancestor_tree": {
+ "isOptional": true
+ },
+ "opts": {
+ "isOptional": true
+ }
+ }
+ },
"git_merge_file": {
"ignore": true
},
diff --git a/guides/cloning/README.md b/guides/cloning/README.md
index 7a44d0cf6..2b1fa508a 100644
--- a/guides/cloning/README.md
+++ b/guides/cloning/README.md
@@ -112,7 +112,7 @@ a function to attempt opening in this case.
``` javascript
var errorAndAttemptOpen = function() {
- return NodeGit.Repository.open(local);
+ return NodeGit.Repository.open(localPath);
};
```
diff --git a/guides/cloning/gh-two-factor/README.md b/guides/cloning/gh-two-factor/README.md
index 1a9190ab3..a3b8bbb3f 100644
--- a/guides/cloning/gh-two-factor/README.md
+++ b/guides/cloning/gh-two-factor/README.md
@@ -149,7 +149,7 @@ a function to attempt opening in this case.
``` javascript
var errorAndAttemptOpen = function() {
- return NodeGit.Repository.open(local);
+ return NodeGit.Repository.open(localPath);
};
```
diff --git a/guides/cloning/ssh-with-agent/README.md b/guides/cloning/ssh-with-agent/README.md
index ae14cfe39..b2cfbe8ce 100644
--- a/guides/cloning/ssh-with-agent/README.md
+++ b/guides/cloning/ssh-with-agent/README.md
@@ -137,7 +137,7 @@ a function to attempt opening in this case.
``` javascript
var errorAndAttemptOpen = function() {
- return NodeGit.Repository.open(local);
+ return NodeGit.Repository.open(localPath);
};
```
diff --git a/lib/reference.js b/lib/reference.js
index 8cfdded6c..821ace32f 100644
--- a/lib/reference.js
+++ b/lib/reference.js
@@ -34,7 +34,7 @@ Reference.prototype.isConcrete = function() {
/**
* Returns if the ref is pointed at by HEAD
- * @return {bool}
+ * @return {Boolean}
*/
Reference.prototype.isHead = function() {
return Branch.isHead(this);
diff --git a/lib/repository.js b/lib/repository.js
index 01dbfff59..6f262a667 100644
--- a/lib/repository.js
+++ b/lib/repository.js
@@ -495,7 +495,7 @@ Repository.prototype.continueRebase = function(
* @async
* @param {String} name Branch name, e.g. "master"
* @param {Commit|String|Oid} commit The commit the branch will point to
- * @param {bool} force Overwrite branch if it exists
+ * @param {Boolean} force Overwrite branch if it exists
* @return {Reference}
*/
Repository.prototype.createBranch = function(name, commit, force) {
diff --git a/lib/reset.js b/lib/reset.js
index df770304a..18a7ebfe1 100644
--- a/lib/reset.js
+++ b/lib/reset.js
@@ -22,7 +22,7 @@ Reset.default = function(repo, target, pathspecs) {
};
/**
- * Look up a refs's commit.
+ * Reset a repository's current HEAD to the specified target.
*
* @async
* @param {Repository} repo Repository where to perform the reset operation.
@@ -41,9 +41,6 @@ Reset.default = function(repo, target, pathspecs) {
* used to propagate notify and progress
* callbacks.
*
- * @param {String|Ref} name Ref name, e.g. "master", "refs/heads/master"
- * or Branch Ref
- *
* @return {Number} 0 on success or an error code
*/
Reset.reset = function(repo, target, resetType, opts) {
diff --git a/package-lock.json b/package-lock.json
index 1e8cdc10a..bf79e4988 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "nodegit",
- "version": "0.22.1",
+ "version": "0.22.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/package.json b/package.json
index 4b8cdbbe6..19fd7259f 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "nodegit",
"description": "Node.js libgit2 asynchronous native bindings",
- "version": "0.22.1",
+ "version": "0.22.2",
"homepage": "http://nodegit.org",
"keywords": [
"libgit2",
diff --git a/test/README.md b/test/README.md
index e73556c7f..e96c79217 100644
--- a/test/README.md
+++ b/test/README.md
@@ -1,17 +1,21 @@
## /test
- Contains all the test scripts, runner, and keys for running the tests.
-
- -----------
+Contains all the test scripts, runner, and keys for running the tests.
- #### /home
- Contains gitconfig for the test repositories.
+-----------
- #### /repos
- Contains blame, empty, nonrepo, and workdir test repositories.
+#### /home
+Contains gitconfig for the test repositories.
- #### /tests
- Unit tests for NodeGit.
+#### /repos
+Contains blame, empty, nonrepo, and workdir test repositories.
- #### /utils
- Test utilities with garbage collector, index, and repository setup, that can be used in tests.
+#### /tests
+Unit tests for NodeGit.
+
+#### /utils
+Test utilities with garbage collector, index, and repository setup, that can be used in tests.
+
+
+## Note
+\*.enc are encrypted in base64 and unencrypted before the test suite runs as \*.
diff --git a/test/id_rsa b/test/id_rsa
deleted file mode 100644
index 91ae66320..000000000
--- a/test/id_rsa
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEA5E3IF5x7qkdIG8HoJ6/Wcc+IU5I41f0qYCTTyc+5qPxyjW8d
-K6o49T9MhkdOd0fRkhRYptrreDSvQzz1JEHcrnMPg6C5GERyZpSeATWvTUwg9LJf
-nklztvevZGaIwmEjoG5pAicfJnYE8Ic3YBP44Qa7GNITxOqUU5VPh+vP83jXSVAC
-CX9Cy1zpt4aUyiwNfVSApbZf4/VbwSaYER3QcpVxMi/B6JGKY5EEJNWV495uzZaP
-Mg3YOFXJYziVgvl4fJMUTHyucf1UVbGCgkFzeUJcynqn+1EkQ1Ev+5haD1AVvneJ
-MCrRsUbFriC9snqs4n2VEzoLIffmVgFsVn30GQIDAQABAoIBAQDPQm2sQbti0mN8
-D4Uawl8D40v30n8WhUa7EbPTOmlqKAQ2sfDhex9KRbTLEmEBmImA/Eee8o9iCTIy
-8Fv8Fm6pUHt9G6Pti/XvemwW3Q3QNpSUkHqN0FDkgecQVqVBEb6uHo3mDm4RFINX
-eOmkp30BjIK9/blEw1D0sFALLOEUPaDdPMwiXtFgqfrFSgpDET3TvQIwZ2LxxTm0
-cNmP3sCSlZHJNkZI4hBEWaaXR+V5/+C1qblDCo5blAWTcX3UzqrwUUJgFi6VnBuh
-7S9Q6+CEIU+4JRyWQNmY8YgZFaAp6IOr/kyfPxTP1+UEVVgcLn3WDYwfG9og0tmz
-fzlruAgBAoGBAPfz73Pey86tNZEanhJhbX8gVjzy2hvyhT0paHg0q/H6c1VWOtUH
-OwZ3Ns2xAZqJhlDqCHnQYSCZDly042U/theP4N8zo1APb4Yg4qdmXF9QE1+2M03r
-kS6138gU/CSCLf8pCYa6pA/GmsaXxloeJGLvT4fzOZRsVav80/92XHRhAoGBAOu2
-mKh4Gr1EjgN9QNbk9cQTSFDtlBEqO/0pTepvL73UvNp/BAn4iYZFU4WnklFVBSWc
-L84Sc732xU12TAbTTUsa6E7W29pS8u7zVTxlIdQIIU5pzDyU1pNNk2kpxzte5p3Y
-PDtniPFsoYLWoH0LpsKL93t2pLAj+IOkE6f3XBq5AoGAIKaYo5N1FxQr952frx/x
-QUpK0N/R5Ng8v18SiLG26rhmM5iVSrQXC7TrHI7wfR8a9tC6qP/NqnM9NuwC/bQ0
-EEo7/GhaWxKNRwZRkmWiSFLNGk9t1hbtGU+N1lUdFtmloPIQdRNiw0kN3JTj474Q
-YI7O1EItFORnK6yxZfR6HEECgYEA1CT7MGUoa8APsMRCXyaiq15Pb8bjxK8mXquW
-HLEFXuzhLCW1FORDoj0y9s/iuKC0iS0ROX8R/J7k5NrbgikbH8WP36UxKkYNr1IC
-HOFImPTYRSKjVsL+fIUNb1DSp3S6SsYbL7v3XJJQqtlQiDq8U8x1aQFXJ9C4EoLR
-zhKrKsECgYBtU/TSF/TATZY5XtrN9O+HX1Fbz70Ci8XgvioheVI2fezOcXPRzDcC
-OYPaCMNKA5E8gHdg4s0TN7uDvKTJ+KhSg2V7gZ39A28dHrJaRX7Nz4k6t2uEBjX9
-a1JidpAIbJ+3w7+hj6L299tVZvS+Y/6Dz/uuEQGXfJg/l/5CCvQPsA==
------END RSA PRIVATE KEY-----
diff --git a/test/id_rsa.enc b/test/id_rsa.enc
new file mode 100644
index 000000000..cd8879bef
--- /dev/null
+++ b/test/id_rsa.enc
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBd1pCektEVVVaQjJEUk94SjBDM1JjVElGWEtob0RUMkE0YTFvaXpKV0xzNlpoSEZKCjRjRnQ4eldpR3VDZGlaUnBFVFlHR1ZZbXRTSE5WZDVLQ1R4TjJEdHZuc1FIeVFTRDNtK2p0YWd3QTNOb1JSUjgKM2R2TUpoeWxKRHV0Y3M2Tm1ZdzBIMmhGYll6ZC9XSXN0ZlFHM1hUZDI4emE0TDdrRStlK0gydWtZSVpka1gzbgpDbUR1KzRod05VUmx5QlhQSVhsMVNGTGxGZjR4NDIrZWxxcUJ4L0w4cmRRNmxNL1BhTW9oNnZBcEx0S3N5amZOCkFqb1htVDdIZ05STDA5TTVTSUcxd2NjSW96ZU1VWnJ5Snl0SHdlU25QYTk1SFhSOXJVKzFkUFd6aFNiTHhrR2sKSmtOVmhVd3FvNlFSY05RaHluRzN6eXpzV3k2VlNFZllNc2ROMFFJREFRQUJBb0lCQUJzWk5QWUJFRnkvd1B2cQpOSjgvZXQzbENka2gvb2MwQUJJWUs5V284MlhVS0t2aERGM2RyWjNwK1VyWC9WWWdmK0VYOWh5ZjhnVlR1U0ozClgxZ1JxRGhJZ2VUeFBzSEdyd3Q2QjZwTDVJVG5LRWJiaW11bzlOaTFFKzJScVVPMFpTQ0UvMXNTUnY0Q1JhWE8KazhIWmF3aWY3dHR4djRiTlVyTHlzNnhFYnB2UWxPTXpnczRzL09CQi9YTUVxbkZSR1BKZWVUeThia09XeVR3bApMajA2bnEyYnJzNHFLNGVpakkvTW9HeTFDRDhKQ3BMNGdHMzlHUFRYZDhHcHVkWG1kZWxEbjFFMHQ5bmhMNlNlCmFPTWFpUGh5N2tCSkQ0d1ovL1daVFNSMVh5ak5CSDNER2tOWnhQSVdjWCt3SkZ5Tm9MYlNiVlNkYS83RHR2cDMKQ1BmaU5oRUNnWUVBLyszSnN3U3pjVkVBTk5GNU9MWjc2eCtUT0RrWjlUNllGNFNSOC91SmpOVmlXZ1VwWDd2dwpteVhGKzJBd3pOYW90YkJLbU5HNjE5QmNVZU1tUUI3NmMrVWlNTGVKdUpjVC9KajB4bUVVb3BIb25HcUVJY3ZnCkhnNmNhZkUxaXM3ZCtsNjY5YmZqaXRseCszbXVGMkNZbnlsU04xTFdIeElJVFZVajNCbWNXcVVDZ1lFQXdaNDUKV2RhSGZLN0c2R2pJN2xpRFFUNFpsc2xBOGRtTHYySmwyRXhCQk1vWTNtM1NyZTQyOHoyWkZhNE8vbnNCWVAwYQpEeGdZbVgyMGZRR2NiUHVnS2RDWUhjN0hrS2JNVTFHd2lWQ0dwRFlaQ20yZ0pLVHZhbTNkWU5haUFmcTVEeWhQCnpEQ1pOSjVyclNNcHJYc3VSdjJPNGM1dThxdEo1QnlhT0pCak9yMENnWUJNbGtBeHprcFVzc1M1Q2FhWkRpTHYKTGJmRXIzSFJMallkYzVLcHpMQlE4TnBKemhtZmlJSnNLMVdmOEIwcWIySjFYSmcyT3kwS3dGT2dQYldJb3J5WQpTZzE5UHE5OENkbjFVV0NPclNhYnI4WklhS2U1NVdUZ0djYzgvTzNrNkJzTmZhTzlQSlpmU3NzTlVsQ0N0bWwxCjE4dSt1bzlSSlBoUERCZDdHajdyOFFLQmdGcmF4V3k3dDI0eGtaTURnSzRmaU0vM3RRaEZ2aHovQ1kyd1BieEcKNUFlOFVma21MY09DVWZUSVJlcWZkOWZBbnNBRlpOSUthNWl6SFJ1L3dzaDlOd1lJSlNsdm04UHNFVnRUclBSeQpmZ3ZXZXQraTI0LzJlWVpHc2FnOGIxOWdhTENOS1F6WERUMWN6WWc4Uk5Wc1JTWDQyN0JvTHpYZVhOa1c5dU51CkZiSTlBb0dBVjJreGNkY0tTNEJ0TkhLUGVHZ1Y4N2RNMERXaFFhQXRFWEVJY1FxdUZ0YmEwbEFYaW9HSGc4VTQKemVpdWdsNFF6Y2h3azVxZDN3blo0U09oeDBzMTYvNWdRRGxua2JqRlI2RVJFVW52TFJ3VjkyekJYVVRPR0lraApaN1o0cmNnVUtsVkFhSFQzT0hOL2xUeXFKRy9pYitLNHdaaGJ6dGwvb3grSlVGc3ZEOTg9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
\ No newline at end of file
diff --git a/test/id_rsa.pub b/test/id_rsa.pub
index bd84623f1..aed84e47b 100644
--- a/test/id_rsa.pub
+++ b/test/id_rsa.pub
@@ -1 +1 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkTcgXnHuqR0gbwegnr9Zxz4hTkjjV/SpgJNPJz7mo/HKNbx0rqjj1P0yGR053R9GSFFim2ut4NK9DPPUkQdyucw+DoLkYRHJmlJ4BNa9NTCD0sl+eSXO2969kZojCYSOgbmkCJx8mdgTwhzdgE/jhBrsY0hPE6pRTlU+H68/zeNdJUAIJf0LLXOm3hpTKLA19VICltl/j9VvBJpgRHdBylXEyL8HokYpjkQQk1ZXj3m7Nlo8yDdg4VcljOJWC+Xh8kxRMfK5x/VRVsYKCQXN5QlzKeqf7USRDUS/7mFoPUBW+d4kwKtGxRsWuIL2yeqzifZUTOgsh9+ZWAWxWffQZ your_email@example.com
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBkHMoNRRkHYNE7EnQLdFxMgVcqGgNPYDhrWiLMlYuzpmEcUnhwW3zNaIa4J2JlGkRNgYZVia1Ic1V3koJPE3YO2+exAfJBIPeb6O1qDADc2hFFHzd28wmHKUkO61yzo2ZjDQfaEVtjN39Yiy19AbddN3bzNrgvuQT574fa6Rghl2RfecKYO77iHA1RGXIFc8heXVIUuUV/jHjb56WqoHH8vyt1DqUz89oyiHq8Cku0qzKN80COheZPseA1EvT0zlIgbXBxwijN4xRmvInK0fB5Kc9r3kddH2tT7V09bOFJsvGQaQmQ1WFTCqjpBFw1CHKcbfPLOxbLpVIR9gyx03R
diff --git a/test/index.js b/test/index.js
index 52cbff50e..5b3269f36 100644
--- a/test/index.js
+++ b/test/index.js
@@ -1,5 +1,6 @@
var fork = require("child_process").fork;
var path = require("path");
+var fs = require('fs');
var bin = "./node_modules/.bin/istanbul";
var cov = "cover --report=lcov --dir=test/coverage/js _mocha --".split(" ");
@@ -24,4 +25,17 @@ if (!process.env.APPVEYOR && !process.env.TRAVIS) {
process.env.USERPROFILE = dummyPath;
}
+// unencrypt test keys
+function unencryptKey(fileName) {
+ var base64Contents = fs.readFileSync(
+ path.join(__dirname, fileName + '.enc'),
+ 'utf8'
+ );
+ var asciiContents = Buffer.from(base64Contents, 'base64')
+ .toString('ascii');
+ fs.writeFileSync(path.join(__dirname, fileName), asciiContents, 'utf8');
+}
+unencryptKey('id_rsa');
+unencryptKey('nodegit-test-rsa');
+
fork(bin, args, { cwd: path.join(__dirname, "../") }).on("close", process.exit);
diff --git a/test/nodegit-test-rsa b/test/nodegit-test-rsa
deleted file mode 100644
index f5500849f..000000000
--- a/test/nodegit-test-rsa
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC5VMnDStyy3BDQ4Ilb/XnD5htRn0f3Is8NITe9o/KwZcPy2MFM
-RssnQjyp/WoQXl/o3Id+UaTZ+TKzYYmP/bGnYlyZP+FBBTKrCcDDW0fVjLbDazEX
-usAYCW58iGG9EomrwpSVrZlrLsZc1CPUdeeC8jmTuBQR7fyDFxM4sdoIyQIDAQAB
-AoGBAA7ZZ00Ze3NtRH+n7fmL5qy2jCvPClIX3OUdazzrnO9bSAb2LQ6ygWaE3R11
-q4DiPucGfGi3m/DHEbPjtcTuu8Qdqr7Nb0FU2CS2og0zMO+Z+CcyzIkXN0o7spig
-ekEY1Uml5MKGcJxu6afsOn+9LIi05SsYPCdtB5z716IewNgxAkEA2pKXov7jobMb
-2vBA4BtEtcryflWFO21uwMDHlJ34mjrUAMCX89NPrY//v8g0eYGLm9ZAj/Ik632+
-uOKHCXaG7QJBANkRBBcnKojqybJoxbL9PLJ3VoJ+EfLllGsbMHzc5VMwQF8ViwBD
-dOQ5feVKg601814Y1NGul/nprk896GNbUc0CQQCHD8iV1u1wcQ4IZyeflBoMQAFC
-YbQ3ebLTdwyc4FTLcQiqAlijOXNl67J8nskWQB+1x1oT2OxJfGVLN+d7yHstAkBz
-GKCwniXhn4z/OqrJc5mBj+GhI7PktXLzL+GP85jteUJIqKWhqCMM+KcWs2IKr/ax
-SD1gSVFwREYW4l6cgElpAkBtngXppGinh3nywIIo/SFmUJV/cUlWBi6MMgfsP8b6
-37+bqJI+m56WBdAG2xNz0uk6DIMp6R7JafOpfgOIPPk9
------END RSA PRIVATE KEY-----
diff --git a/test/nodegit-test-rsa.enc b/test/nodegit-test-rsa.enc
new file mode 100644
index 000000000..c90ea0781
--- /dev/null
+++ b/test/nodegit-test-rsa.enc
@@ -0,0 +1 @@
+LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBekNxSzI3cEV1cU1GQm45b3FIU2pzbkkrOFdxNW9IQUNHRU1tSmMyRHd6VDNNbXZ2ClR1ejZBUTU3L3lLK3lEZnY0VFlseWlVdHZBeUFxSy83TklNRmRTWldVOGIvNkNZQUhMcDZPM0p4WUZLUEQxa2MKdDBwNlVpNHdsY0lNRFZ5a252L3hlY0lYeXNqRVZaUEpUbGdoNDRqWXltOEFXdzg0YzQzQzNqelNJYkhHWlBDcgpxdi91ekgveVdZcFlrb3hBMXcyKy9LTDRBdlBpOUtRdkl6L2FpeUhqdzdEM1k2ZnRadW5GaGNyZ0hHZUhyUjBSCnJXT2ZybXZHYSthZStMRHI4Rk9TSno5U1RmY2dwZXNrYzFjNGorWkFFOHdxdzhhYmd6SVhXckducS9UUE5ScHcKU0hoMHg2T3g2aDJ3VStGTjdkTWZwOGNxekw2dXpiZUY5SXkrVlFJREFRQUJBb0lCQUhmME10dUFhQ3NqNXFyMwpwcHo2MHNiZ1d0enFzSjl6ejdkRGxLRTNTMGdnMFhBZGZGL3AyY1ZQSmtrenQ5WFpENlpKY3hCK29ZMVA1ek8xCkdhbXpwVHc4UnhJMzVGa1lJbzYrZlZ4NkUrVGMvTkt1cjdGOUg3c3pDamFpNlFQY3Y1ZnZsb2ZNSXNCeER2R2MKdi9TNDBVaG5PY0JPVVc0dTFpTUdVa3pTZlQ5dnJtbEFPNnVtaHExSVdFUTZnOUVCUXovNm9RUFNWUCszVGIwbgppemZWK1pIQkpQMS9jVEdsdmFzb2tFOTgvS3VpQmoyeHB3bVJHcy95YndyMVZMbTRWVkVKQTlLREI5aldueXgvCkpVMnpLQ3UreVMxSHBLcXVWdEh5NUw4ditDRzJQUkNtUnpGcEVQbVRpaGpaKy9HbG1xM3Bjc1FhK2FVZFduUW8KcTkyVXFtRUNnWUVBLzVGTEdORGd2blRyZ2dvMnltcXNSbGtaNTV0NjJIVXl2K3NPaUJ5eDc4VXFNSitjZENoRApJUTcvQmE4NE9QU2Jyb0E3WDJ2ZldEK01OcXRUdWFsUUl1eFJ0Ukh6c2hYNFZZODNWdzJRRmJ6RFp2dk5RV25UCjVybWlIK1FXS0N3THFEY3NQTm81eHdxemlXZ3JWdk1ZRFloaTR6enNlQW9yNFB6dTZRREVkUWtDZ1lFQXpJTDcKcUtXRWg1Q2NSRmlrY25mUEpJL2dySHkwckdpRHBneXE1N25sWWNOWm1BTEdaUnRyN2hDeVpNZTMyYVdISVdMcgoxa2hadE16bEFiZlBBYjdNdDIyT2RCWTJ3UDF3WG8wa25YMVdTUlN2RUt5MTFwN1RqRTJFVFBMekJmUkJ2ckR5CkF2T3l2UjVOUWxrQk4yMDhNRHlyUnRhcStpTTZxdmVweFVZUGZlMENnWUVBcUFHUTE3aUE5bE9RZXNWU0xaRWcKdllKWG1EMUs3YjlsNUdxVysvMjVMOEZ5c2RKTG5NVFhGSVZ5T3Y5c08yejZaeVhmWWlSZEIvdUdwbTNNdFpITApuNW14UVJLVEhMQjZ0MnhWMmdHTmhleTRuQnZPWEVGQXp6MmJpZEY4aTE0aEw2MU5oSmVGUWdjVDdiR3dSQkc4Cjd6Q0lxWS9rZUNsZm5TRkp3WjBDaVZrQ2dZQnJOMGdrRkJJMDJCVjBwMXdmUHJ4MEdKSGJHODNFalU1bllVREEKRjI4d0g2LzZ4NG1uUEFjTFdlbU1lRC9rZEtreFVhRCtTQlB2ZTNPYndQZGZuTjNLVkQ5WWtNVEh6Slo2bTFoVQowSDdKOVhRS00rRm8wUDlyRU1DSmJ0MEZoQlpybUd4b0s4Yks2dlhxRUt0WW1ZWHlhL3dIT1VlTnQ2WnNOMGJqCnkyVVh5UUtCZ1FEQTBjTm5aT0FuUllTaE93bjlsR3YxcFJ6SGRZdTduMlVteXpaM2RuRUhsTXRSRlFaQjIvdmYKVFpwWGVNSTJyWGRGUVphb1pydWxmZE1Fa3BDVmlTSGlRWnFKNlkrYXZ3NjQ1dzV3a09RU1F3ZjNzOEYrL0t5agoyNDMyY25pN3grUGVlOXp6R3VmQ3RJNkZSK2hTdDZSdnNsRzdRWFgreHM3dGxCNmU0SEhmUUE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
\ No newline at end of file
diff --git a/test/nodegit-test-rsa.pub b/test/nodegit-test-rsa.pub
index 8092c1642..7321a79e5 100644
--- a/test/nodegit-test-rsa.pub
+++ b/test/nodegit-test-rsa.pub
@@ -1 +1 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC5VMnDStyy3BDQ4Ilb/XnD5htRn0f3Is8NITe9o/KwZcPy2MFMRssnQjyp/WoQXl/o3Id+UaTZ+TKzYYmP/bGnYlyZP+FBBTKrCcDDW0fVjLbDazEXusAYCW58iGG9EomrwpSVrZlrLsZc1CPUdeeC8jmTuBQR7fyDFxM4sdoIyQ==
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMKorbukS6owUGf2iodKOycj7xarmgcAIYQyYlzYPDNPcya+9O7PoBDnv/Ir7IN+/hNiXKJS28DICor/s0gwV1JlZTxv/oJgAcuno7cnFgUo8PWRy3SnpSLjCVwgwNXKSe//F5whfKyMRVk8lOWCHjiNjKbwBbDzhzjcLePNIhscZk8Kuq/+7Mf/JZiliSjEDXDb78ovgC8+L0pC8jP9qLIePDsPdjp+1m6cWFyuAcZ4etHRGtY5+ua8Zr5p74sOvwU5InP1JN9yCl6yRzVziP5kATzCrDxpuDMhdasaer9M81GnBIeHTHo7HqHbBT4U3t0x+nxyrMvq7Nt4X0jL5V
diff --git a/test/tests/signature.js b/test/tests/signature.js
index 8e1187ef6..bf5f99ef7 100644
--- a/test/tests/signature.js
+++ b/test/tests/signature.js
@@ -41,7 +41,7 @@ describe("Signature", function() {
assert.equal(when.offset(), -now.getTimezoneOffset());
});
- it("can get a default signature when no user name is set", function(done) {
+ it("can get a default signature when no user name is set", function() {
var savedUserName;
var savedUserEmail;
@@ -75,11 +75,9 @@ describe("Signature", function() {
assert.equal(sig.email(), "unknown@example.com");
})
.then(cleanUp)
- .then(done)
.catch(function(e) {
- cleanUp()
+ return cleanUp()
.then(function() {
- done(e);
return Promise.reject(e);
});
});
diff --git a/vendor/libgit2 b/vendor/libgit2
index 07674fbae..e634ccf4b 160000
--- a/vendor/libgit2
+++ b/vendor/libgit2
@@ -1 +1 @@
-Subproject commit 07674fbae6add2ce24e0b4aa6381b9d6272b98e3
+Subproject commit e634ccf4be1ed60b89f0f3582ca8611d47c400d4