pj-nodegit 0.18.4 → 0.18.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/lib/README.md +3 -0
  2. package/lib/attr.js +20 -0
  3. package/lib/blame.js +20 -0
  4. package/lib/blob.js +73 -0
  5. package/lib/branch.js +19 -0
  6. package/lib/buf.js +11 -0
  7. package/lib/checkout.js +51 -0
  8. package/lib/cherrypick.js +73 -0
  9. package/lib/clone.js +33 -0
  10. package/lib/commit.js +437 -0
  11. package/lib/config.js +25 -0
  12. package/lib/convenient_hunks.js +61 -0
  13. package/lib/convenient_patch.js +131 -0
  14. package/lib/credential.js +33 -0
  15. package/lib/diff.js +113 -0
  16. package/lib/diff_file.js +38 -0
  17. package/lib/diff_line.js +32 -0
  18. package/lib/enums.js +689 -0
  19. package/lib/error.js +17 -0
  20. package/lib/filter_registry.js +25 -0
  21. package/lib/index.js +103 -0
  22. package/lib/libgit2.js +6 -0
  23. package/lib/merge.js +72 -0
  24. package/lib/nodegit.js +1333 -0
  25. package/lib/note.js +17 -0
  26. package/lib/object.js +45 -0
  27. package/lib/odb_object.js +9 -0
  28. package/lib/oid.js +23 -0
  29. package/lib/rebase.js +142 -0
  30. package/lib/reference.js +213 -0
  31. package/lib/remote.js +270 -0
  32. package/lib/repository.js +1982 -0
  33. package/lib/reset.js +76 -0
  34. package/lib/revert.js +77 -0
  35. package/lib/revwalk.js +142 -0
  36. package/lib/signature.js +38 -0
  37. package/lib/stash.js +62 -0
  38. package/lib/status.js +18 -0
  39. package/lib/status_file.js +106 -0
  40. package/lib/status_list.js +12 -0
  41. package/lib/submodule.js +51 -0
  42. package/lib/tag.js +135 -0
  43. package/lib/tree.js +175 -0
  44. package/lib/tree_entry.js +99 -0
  45. package/lib/utils/lookup_wrapper.js +39 -0
  46. package/lib/utils/normalize_fetch_options.js +43 -0
  47. package/lib/utils/normalize_options.js +29 -0
  48. package/lib/utils/shallow_clone.js +14 -0
  49. package/package.json +1 -1
package/lib/README.md ADDED
@@ -0,0 +1,3 @@
1
+ ## /lib
2
+
3
+ Contains javascript extensions for the generated NodeGit modules. Any additional behavior on top of the standard libgit2 behavior will be found here.
package/lib/attr.js ADDED
@@ -0,0 +1,20 @@
1
+ var util = require("util");
2
+ var NodeGit = require("../");
3
+
4
+ NodeGit.Attr.STATES = {};
5
+ var DEPRECATED_STATES = {
6
+ UNSPECIFIED_T: "UNSPECIFIED",
7
+ TRUE_T: "TRUE",
8
+ FALSE_T: "FALSE",
9
+ VALUE_T: "STRING"
10
+ };
11
+
12
+ Object.keys(DEPRECATED_STATES).forEach((key) => {
13
+ const newKey = DEPRECATED_STATES[key];
14
+ Object.defineProperty(NodeGit.Attr.STATES, key, {
15
+ get: util.deprecate(
16
+ () => NodeGit.Attr.VALUE[newKey],
17
+ `Use NodeGit.Attr.VALUE.${newKey} instead of NodeGit.Attr.STATES.${key}.`
18
+ )
19
+ });
20
+ });
package/lib/blame.js ADDED
@@ -0,0 +1,20 @@
1
+ var NodeGit = require("../");
2
+ var normalizeOptions = NodeGit.Utils.normalizeOptions;
3
+ var Blame = NodeGit.Blame;
4
+
5
+ var _file = Blame.file;
6
+
7
+ /**
8
+ * Retrieve the blame of a file
9
+ *
10
+ * @async
11
+ * @param {Repository} repo that contains the file
12
+ * @param {String} path to the file to get the blame of
13
+ * @param {BlameOptions} [options] Options for the blame
14
+ * @return {Blame} the blame
15
+ */
16
+ Blame.file = function(repo, path, options) {
17
+ options = normalizeOptions(options, NodeGit.BlameOptions);
18
+
19
+ return _file.call(this, repo, path, options);
20
+ };
package/lib/blob.js ADDED
@@ -0,0 +1,73 @@
1
+ var util = require("util");
2
+ var NodeGit = require("../");
3
+ var Blob = NodeGit.Blob;
4
+ var LookupWrapper = NodeGit.Utils.lookupWrapper;
5
+ var TreeEntry = NodeGit.TreeEntry;
6
+ var normalizeOptions = NodeGit.Utils.normalizeOptions;
7
+
8
+ var _filteredContent = Blob.filteredContent;
9
+ var _filter = Blob.prototype.filter;
10
+
11
+ /**
12
+ * Retrieves the blob pointed to by the oid
13
+ * @async
14
+ * @param {Repository} repo The repo that the blob lives in
15
+ * @param {String|Oid|Blob} id The blob to lookup
16
+ * @return {Blob}
17
+ */
18
+ Blob.lookup = LookupWrapper(Blob);
19
+
20
+ /**
21
+ * Retrieve the content of the Blob.
22
+ *
23
+ * @return {Buffer} Contents as a buffer.
24
+ */
25
+ Blob.prototype.content = function() {
26
+ return this.rawcontent().toBuffer(this.rawsize());
27
+ };
28
+
29
+ /**
30
+ * Retrieve the Blob's type.
31
+ *
32
+ * @return {Number} The filemode of the blob.
33
+ */
34
+ Blob.prototype.filemode = function() {
35
+ var FileMode = TreeEntry.FILEMODE;
36
+
37
+ return this.isBinary() ? FileMode.EXECUTABLE : FileMode.BLOB;
38
+ };
39
+
40
+ /**
41
+ * Retrieve the Blob's content as String.
42
+ *
43
+ * @return {String} Contents as a string.
44
+ */
45
+ Blob.prototype.toString = function() {
46
+ return this.content().toString();
47
+ };
48
+
49
+ /**
50
+ * Get a buffer with the filtered content of a blob.
51
+ *
52
+ * This applies filters as if the blob was being checked out to the
53
+ * working directory under the specified filename. This may apply
54
+ * CRLF filtering or other types of changes depending on the file
55
+ * attributes set for the blob and the content detected in it.
56
+ *
57
+ * @async
58
+ * @param asPath Path used for file attribute lookups, etc.
59
+ * @param opts Options to use for filtering the blob
60
+ * @return {Promise<string>}
61
+ */
62
+ Blob.prototype.filter = function(asPath, opts) {
63
+ if (opts) {
64
+ opts = normalizeOptions(opts, NodeGit.BlobFilterOptions);
65
+ }
66
+ return _filter.call(this, asPath, opts);
67
+ };
68
+
69
+ Blob.filteredContent = util.deprecate(
70
+ _filteredContent,
71
+ "NodeGit.Blob.filteredContent is deprecated" +
72
+ " use NodeGit.Blob.prototype.filter instead."
73
+ );
package/lib/branch.js ADDED
@@ -0,0 +1,19 @@
1
+ var NodeGit = require("../");
2
+ var Branch = NodeGit.Branch;
3
+
4
+ var _remoteName = Branch.remoteName;
5
+
6
+ /**
7
+ * Retrieve the Branch's Remote Name as a String.
8
+ *
9
+ * @async
10
+ * @param {Repository} repo The repo to get the remote name from
11
+ * @param {String} the refname of the branch
12
+ * @return {String} remote name as a string.
13
+ */
14
+ Branch.remoteName = function(repo, remoteRef) {
15
+ return _remoteName.call(this, repo, remoteRef)
16
+ .then(function(remoteNameBuffer) {
17
+ return remoteNameBuffer.toString();
18
+ });
19
+ };
package/lib/buf.js ADDED
@@ -0,0 +1,11 @@
1
+ const { Buf } = require("../");
2
+
3
+ /**
4
+ * Sets the content of a GitBuf to a string.
5
+ * @param {string} The utf8 value to set in the buffer.
6
+ * The string will be null terminated.
7
+ */
8
+ Buf.prototype.setString = function(content) {
9
+ const buf = Buffer.from(content + "\0", "utf8");
10
+ this.set(buf, buf.length);
11
+ };
@@ -0,0 +1,51 @@
1
+ var NodeGit = require("../");
2
+ var normalizeOptions = NodeGit.Utils.normalizeOptions;
3
+
4
+ var Checkout = NodeGit.Checkout;
5
+ var _head = Checkout.head;
6
+ var _index = Checkout.index;
7
+ var _tree = Checkout.tree;
8
+
9
+ /**
10
+ * Patch head checkout to automatically coerce objects.
11
+ *
12
+ * @async
13
+ * @param {Repository} repo The repo to checkout head
14
+ * @param {CheckoutOptions} [options] Options for the checkout
15
+ * @return {Void} checkout complete
16
+ */
17
+ Checkout.head = function(url, options) {
18
+ options = normalizeOptions(options || {}, NodeGit.CheckoutOptions);
19
+
20
+ return _head.call(this, url, options);
21
+ };
22
+
23
+ /**
24
+ * Patch index checkout to automatically coerce objects.
25
+ *
26
+ * @async
27
+ * @param {Repository} repo The repo to checkout an index
28
+ * @param {Index} index The index to checkout
29
+ * @param {CheckoutOptions} [options] Options for the checkout
30
+ * @return {Void} checkout complete
31
+ */
32
+ Checkout.index = function(repo, index, options) {
33
+ options = normalizeOptions(options || {}, NodeGit.CheckoutOptions);
34
+
35
+ return _index.call(this, repo, index, options);
36
+ };
37
+
38
+ /**
39
+ * Patch tree checkout to automatically coerce objects.
40
+ *
41
+ * @async
42
+ * @param {Repository} repo
43
+ * @param {String|Tree|Commit|Reference} treeish
44
+ * @param {CheckoutOptions} [options]
45
+ * @return {Void} checkout complete
46
+ */
47
+ Checkout.tree = function(repo, treeish, options) {
48
+ options = normalizeOptions(options || {}, NodeGit.CheckoutOptions);
49
+
50
+ return _tree.call(this, repo, treeish, options);
51
+ };
@@ -0,0 +1,73 @@
1
+ var NodeGit = require("../");
2
+ var shallowClone = NodeGit.Utils.shallowClone;
3
+ var normalizeOptions = NodeGit.Utils.normalizeOptions;
4
+
5
+ var Cherrypick = NodeGit.Cherrypick;
6
+ var _cherrypick = Cherrypick.cherrypick;
7
+ var _commit = Cherrypick.commit;
8
+
9
+ /**
10
+ * Cherrypick a commit and, changing the index and working directory
11
+ *
12
+ * @async
13
+ * @param {Repository} repo The repo to checkout head
14
+ * @param {Commit} commit The commit to cherrypick
15
+ * @param {CherrypickOptions} [options] Options for the cherrypick
16
+ * @return {int} 0 on success, -1 on failure
17
+ */
18
+ Cherrypick.cherrypick = function(repo, commit, options) {
19
+ var mergeOpts;
20
+ var checkoutOpts;
21
+
22
+ if (options) {
23
+ options = shallowClone(options);
24
+ mergeOpts = options.mergeOpts;
25
+ checkoutOpts = options.checkoutOpts;
26
+ delete options.mergeOpts;
27
+ delete options.checkoutOpts;
28
+ }
29
+
30
+ options = normalizeOptions(options, NodeGit.CherrypickOptions);
31
+
32
+ if (mergeOpts) {
33
+ options.mergeOpts =
34
+ normalizeOptions(mergeOpts, NodeGit.MergeOptions);
35
+ }
36
+
37
+ if (checkoutOpts) {
38
+ options.checkoutOpts =
39
+ normalizeOptions(checkoutOpts, NodeGit.CheckoutOptions);
40
+ }
41
+
42
+ return _cherrypick.call(this, repo, commit, options);
43
+ };
44
+
45
+ /**
46
+ * Cherrypicks the given commit against "our" commit, producing an index that
47
+ * reflects the result of the cherrypick. The index is not backed by a repo.
48
+ *
49
+ * @async
50
+ * @param {Repository} repo The repo to cherrypick commits
51
+ * @param {Commit} cherrypick_commit The commit to cherrypick
52
+ * @param {Commit} our_commit The commit to revert against
53
+ * @param {int} mainline The parent of the revert commit (1 or
54
+ * 2) if it's a merge, 0 otherwise
55
+ * @param {MergeOptions} [merge_options] Merge options for the cherrypick
56
+ * @return {int} 0 on success, -1 on failure
57
+ */
58
+ Cherrypick.commit = function(
59
+ repo,
60
+ cherrypick_commit,
61
+ our_commit,
62
+ mainline,
63
+ merge_options) {
64
+ merge_options = normalizeOptions(merge_options, NodeGit.MergeOptions);
65
+
66
+ return _commit.call(
67
+ this,
68
+ repo,
69
+ cherrypick_commit,
70
+ our_commit,
71
+ mainline,
72
+ merge_options);
73
+ };
package/lib/clone.js ADDED
@@ -0,0 +1,33 @@
1
+ var NodeGit = require("../");
2
+ var shallowClone = NodeGit.Utils.shallowClone;
3
+ var normalizeFetchOptions = NodeGit.Utils.normalizeFetchOptions;
4
+ var normalizeOptions = NodeGit.Utils.normalizeOptions;
5
+
6
+ var Clone = NodeGit.Clone;
7
+ var _clone = Clone.clone;
8
+
9
+ /**
10
+ * Patch repository cloning to automatically coerce objects.
11
+ *
12
+ * @async
13
+ * @param {String} url url of the repository
14
+ * @param {String} local_path local path to store repository
15
+ * @param {CloneOptions} [options]
16
+ * @return {Repository} repo
17
+ */
18
+ Clone.clone = function(url, local_path, options) {
19
+ var fetchOpts = normalizeFetchOptions(options && options.fetchOpts);
20
+
21
+ if (options) {
22
+ options = shallowClone(options);
23
+ delete options.fetchOpts;
24
+ }
25
+
26
+ options = normalizeOptions(options, NodeGit.CloneOptions);
27
+
28
+ if (options) {
29
+ options.fetchOpts = fetchOpts;
30
+ }
31
+
32
+ return _clone.call(this, url, local_path, options);
33
+ };