-
Notifications
You must be signed in to change notification settings - Fork 698
Expand file tree
/
Copy pathreset.js
More file actions
51 lines (48 loc) · 2.02 KB
/
reset.js
File metadata and controls
51 lines (48 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var NodeGit = require("../");
var Reset = NodeGit.Reset;
var _default = Reset.default;
var _reset = Reset.reset;
/**
* Look up a refs's commit.
*
* @async
* @param {Repository} repo Repository where to perform the reset operation.
* @param {Commit|Tag} target The committish which content will be used to reset
* the content of the index.
* @param {Strarray} pathspecs List of pathspecs to operate on.
*
* @return {Number} 0 on success or an error code
*/
Reset.default = function(repo, target, pathspecs) {
return _default.call(this, repo, target, pathspecs);
};
/**
* Reset a repository's current HEAD to the specified target.
*
* @async
* @param {Repository} repo Repository where to perform the reset operation.
*
* @param {Commit|Tag} target Committish to which the Head should be moved to.
* This object must belong to the given `repo` and can
* either be a git_commit or a git_tag. When a git_tag is
* being passed, it should be dereferencable to a
* git_commit which oid will be used as the target of the
* branch.
* @param {Number} resetType Kind of reset operation to perform.
*
* @param {CheckoutOptions} opts Checkout options to be used for a HARD reset.
* The checkout_strategy field will be overridden
* (based on reset_type). This parameter can be
* used to propagate notify and progress
* callbacks.
*
* @return {Number} 0 on success or an error code
*/
Reset.reset = function(repo, target, resetType, opts) {
if (repo !== target.repo) {
// this is the same that is performed on libgit2's side
// https://github.com/nodegit/libgit2/blob/8d89e409616831b7b30a5ca7b89354957137b65e/src/reset.c#L120-L124
throw new Error("Repository and target commit's repository does not match");
}
return _reset.call(this, repo, target, resetType, opts);
};