Skip to content

Commit

Permalink
Added additional remote methods
Browse files Browse the repository at this point in the history
Added the following methods:

- git_remote_create
- git_remote_rename
- git_remote_name
- git_remote_pushurl (untested, has been segfaulting)
- git_remote_delete
  • Loading branch information
tbranyen committed Jul 19, 2014
1 parent 8de1cd5 commit 1528a01
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 7 deletions.
4 changes: 3 additions & 1 deletion .jshintrc
Expand Up @@ -18,6 +18,8 @@
"it": true,
"describe": true,
"before": true,
"beforeEach": true
"beforeEach": true,
"after": true,
"afterEach": true
}
}
29 changes: 28 additions & 1 deletion generate/descriptor.json
Expand Up @@ -555,11 +555,38 @@
}
},

"git_remote_load": {
"git_remote_create": {
"ignore": false,
"isConstructorMethod": true
},

"git_remote_rename": {
"ignore": false
},

"git_remote_name": {
"ignore": false,
"args": [{ "isSelf": true }]
},

"git_remote_pushurl": {
"ignore": false,
"args": [{ "isSelf": true }]
},

"git_remote_load": {
"ignore": false,
"isConstructorMethod": true,
"return": {
"copy": "git_remote_dup"
}
},

"git_remote_delete": {
"ignore": false,
"args": [{ "isReturn": false, "isSelf": true }]
},

"git_remote_url": {
"ignore": false,
"args": [{ "isSelf": true }]
Expand Down
12 changes: 12 additions & 0 deletions generate/types.json
Expand Up @@ -9055,5 +9055,17 @@
"const git_strarray **": {
"cpp": "GitStrarray",
"js": "Strarray"
},
"git_remote_delete": {
"cpp": "Delete",
"js": "delete"
},
"git_remote_delete *": {
"cpp": "Delete",
"js": "delete"
},
"const git_remote_delete *": {
"cpp": "Delete",
"js": "delete"
}
}
47 changes: 42 additions & 5 deletions test/tests/remote.js
@@ -1,7 +1,7 @@
var assert = require("assert");
var path = require("path");

describe("Repository", function() {
describe("Remote", function() {
var reposPath = path.resolve("test/repos/workdir/.git");

var Repository = require("../../lib/repository");
Expand All @@ -12,13 +12,50 @@ describe("Repository", function() {

return Repository.open(reposPath).then(function(repository) {
test.repository = repository;

return Remote.load(repository, "origin").then(function(remote) {
test.remote = remote;
});
});
});

after(function() {
return Remote.load(this.repository, "origin2").then(function(remote) {
remote.delete();
});
});

it("can read git remote url", function() {
return Remote.load(this.repository, "origin").then(function(remote) {
assert.ok(remote instanceof Remote);
assert.equal(remote.url(), "https://github.com/nodegit/nodegit");
it("can load a remote", function() {
assert.ok(this.remote instanceof Remote);
});

it("can read the remote url", function() {
assert.equal(this.remote.url(), "https://github.com/nodegit/nodegit");
});

it("can read the remote name", function() {
assert.equal(this.remote.name(), "origin");
});

it("can create a new remote", function() {
var repository = this.repository;
var url = "https://github.com/nodegit/nodegit";

return Remote.create(repository, "origin2", url).then(function() {
return Remote.load(repository, "origin2").then(function(remote) {
assert(remote.url(), "https://github.com/nodegit/nodegit");
});
});
});

it("can delete a remote", function() {
var repository = this.repository;
var url = "https://github.com/nodegit/nodegit";

return Remote.create(repository, "origin3", url).then(function() {
return Remote.load(repository, "origin3").then(function(remote) {
remote.delete();
});
});
});
});

0 comments on commit 1528a01

Please sign in to comment.