From f93ffae48a63dc99922928d349bd14bab1034320 Mon Sep 17 00:00:00 2001 From: Tom Ruggles Date: Mon, 18 May 2015 17:27:38 -0400 Subject: [PATCH 1/3] If there is no default signature then this code was throwing. --- lib/repository.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/repository.js b/lib/repository.js index 5e75f4752..3a073b81d 100644 --- a/lib/repository.js +++ b/lib/repository.js @@ -541,7 +541,7 @@ Repository.prototype.treeBuilder = function() { Repository.prototype.defaultSignature = function() { var result = NodeGit.Signature.default(this); - if (!result.name()) { + if (!result || !result.name()) { result = NodeGit.Signature.now("unknown", "unknown@unknown.com"); } From b06338dce20ac608aebba4ce29a945e95e9ce7ac Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 18 May 2015 22:47:40 -0400 Subject: [PATCH 2/3] Fix existing test that should have detected the null default signature issue. --- test/tests/signature.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/test/tests/signature.js b/test/tests/signature.js index 9c7613986..5f58df598 100644 --- a/test/tests/signature.js +++ b/test/tests/signature.js @@ -45,17 +45,14 @@ describe("Signature", function() { assert.equal(when.offset(), -now.getTimezoneOffset()); }); - it("can get a default signature when no user name is set", function() { + it("can get a default signature when no user name is set", function(done) { var savedUserName; var savedUserEmail; var cleanUp = function() { return exec("git config --global user.name \"" + savedUserName + "\"") .then(function() { - return exec( - "git config --global user.email \"" + - savedUserEmail + - "\""); + exec("git config --global user.email \"" + savedUserEmail + "\""); }); }; @@ -78,17 +75,15 @@ describe("Signature", function() { }) .then(function(repo) { var sig = repo.defaultSignature(); - assert.equal(sig.name(), "unknown"); assert.equal(sig.email(), "unknown@unknown.com"); - - }) - .then(function() { - cleanUp(); }) + .then(cleanUp) + .then(done) .catch(function(e) { cleanUp() .then(function() { + done(e); return Promise.reject(e); }); }); From 17c55470aba63879355102e6d4cc84e3b32fa6e2 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 18 May 2015 22:50:39 -0400 Subject: [PATCH 3/3] Fix indentation --- test/tests/signature.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/tests/signature.js b/test/tests/signature.js index 5f58df598..6a369969f 100644 --- a/test/tests/signature.js +++ b/test/tests/signature.js @@ -78,8 +78,8 @@ describe("Signature", function() { assert.equal(sig.name(), "unknown"); assert.equal(sig.email(), "unknown@unknown.com"); }) - .then(cleanUp) - .then(done) + .then(cleanUp) + .then(done) .catch(function(e) { cleanUp() .then(function() {