63 lines
2.0 KiB
JavaScript
63 lines
2.0 KiB
JavaScript
"use strict";
|
|
|
|
var NodeGit = require("../");
|
|
var shallowClone = NodeGit.Utils.shallowClone;
|
|
var normalizeOptions = NodeGit.Utils.normalizeOptions;
|
|
|
|
var Revert = NodeGit.Revert;
|
|
var _commit = Revert.commit;
|
|
var _revert = Revert.revert;
|
|
|
|
/**
|
|
* Reverts the given commit against the given "our" commit, producing an index
|
|
* that reflects the result of the revert.
|
|
*
|
|
* @async
|
|
* @param {Repository} repo the repository that contains the given commits.
|
|
* @param {Commit} revert_commit the commit to revert
|
|
* @param {Commit} our_commit the commit to revert against (e.g. HEAD)
|
|
* @param {Number} mainline the parent of the revert commit, if it is a merge
|
|
* @param {MergeOptions} merge_options the merge options (or null for defaults)
|
|
*
|
|
* @return {Index} the index result
|
|
*/
|
|
Revert.commit = function (repo, revert_commit, our_commit, mainline, merge_options) {
|
|
merge_options = normalizeOptions(merge_options, NodeGit.MergeOptions);
|
|
|
|
return _commit.call(this, repo, revert_commit, our_commit, mainline, merge_options);
|
|
};
|
|
|
|
/**
|
|
* Reverts the given commit, producing changes in the index and
|
|
* working directory.
|
|
*
|
|
* @async
|
|
* @param {Repository} repo the repository to perform the revert in
|
|
* @param {Commit} commit the commit to revert
|
|
* @param {RevertOptions} revert_options the revert options
|
|
* (or null for defaults)
|
|
*/
|
|
Revert.revert = function (repo, commit, revertOpts) {
|
|
var mergeOpts;
|
|
var checkoutOpts;
|
|
|
|
if (revertOpts) {
|
|
revertOpts = shallowClone(revertOpts);
|
|
mergeOpts = revertOpts.mergeOpts;
|
|
checkoutOpts = revertOpts.checkoutOpts;
|
|
delete revertOpts.mergeOpts;
|
|
delete revertOpts.checkoutOpts;
|
|
}
|
|
|
|
revertOpts = normalizeOptions(revertOpts, NodeGit.RevertOptions);
|
|
|
|
if (mergeOpts) {
|
|
revertOpts.mergeOpts = normalizeOptions(mergeOpts, NodeGit.MergeOptions);
|
|
}
|
|
|
|
if (checkoutOpts) {
|
|
revertOpts.checkoutOpts = normalizeOptions(checkoutOpts, NodeGit.CheckoutOptions);
|
|
}
|
|
|
|
return _revert.call(this, repo, commit, revertOpts);
|
|
}; |