@foss.global/gitmanager 1.7.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.smartconfig.json +4 -1
- package/changelog.md +52 -0
- package/dist_rust/rustgitmanager_linux_amd64 +0 -0
- package/dist_rust/rustgitmanager_linux_amd64.tsrust-build.json +5 -5
- package/dist_rust/rustgitmanager_linux_arm64 +0 -0
- package/dist_rust/rustgitmanager_linux_arm64.tsrust-build.json +5 -5
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.archiveinspection.d.ts +11 -0
- package/dist_ts/classes.archiveinspection.js +205 -0
- package/dist_ts/classes.gitmanager.d.ts +26 -2
- package/dist_ts/classes.gitmanager.js +60 -1
- package/dist_ts/classes.gitmanagererror.d.ts +11 -0
- package/dist_ts/classes.gitmanagererror.js +22 -0
- package/dist_ts/classes.repositoryservice.d.ts +8 -0
- package/dist_ts/classes.repositoryservice.js +38 -12
- package/dist_ts/index.d.ts +2 -0
- package/dist_ts/index.js +3 -1
- package/dist_ts/models.d.ts +66 -1
- package/dist_ts/rust-gitmanager-bridge.d.ts +6 -2
- package/dist_ts/rust-gitmanager-bridge.js +41 -2
- package/native-notices/crates/adler2-2.0.1/license-0bsd +12 -0
- package/native-notices/crates/adler2-2.0.1/license-apache +201 -0
- package/native-notices/crates/adler2-2.0.1/license-mit +23 -0
- package/native-notices/crates/aho-corasick-1.1.4/copying +3 -0
- package/native-notices/crates/aho-corasick-1.1.4/license-mit +21 -0
- package/native-notices/crates/aho-corasick-1.1.4/unlicense +24 -0
- package/native-notices/crates/anstream-1.0.0/license-apache +202 -0
- package/native-notices/crates/anstream-1.0.0/license-mit +19 -0
- package/native-notices/crates/anstyle-1.0.14/license-apache +202 -0
- package/native-notices/crates/anstyle-1.0.14/license-mit +19 -0
- package/native-notices/crates/anstyle-parse-1.0.0/license-apache +202 -0
- package/native-notices/crates/anstyle-parse-1.0.0/license-mit +19 -0
- package/native-notices/crates/anstyle-query-1.1.5/license-apache +202 -0
- package/native-notices/crates/anstyle-query-1.1.5/license-mit +19 -0
- package/native-notices/crates/anyhow-1.0.102/license-apache +176 -0
- package/native-notices/crates/anyhow-1.0.102/license-mit +23 -0
- package/native-notices/crates/atomic-waker-1.1.2/license-apache +201 -0
- package/native-notices/crates/atomic-waker-1.1.2/license-mit +23 -0
- package/native-notices/crates/atomic-waker-1.1.2/license-third-party +45 -0
- package/native-notices/crates/axum-0.8.9/license +25 -0
- package/native-notices/crates/axum-core-0.5.6/license +27 -0
- package/native-notices/crates/base64-0.22.1/license-apache +201 -0
- package/native-notices/crates/base64-0.22.1/license-mit +21 -0
- package/native-notices/crates/block-buffer-0.10.4/license-apache +201 -0
- package/native-notices/crates/block-buffer-0.10.4/license-mit +25 -0
- package/native-notices/crates/bytes-1.12.0/license +25 -0
- package/native-notices/crates/cfg-if-1.0.4/license-apache +201 -0
- package/native-notices/crates/cfg-if-1.0.4/license-mit +25 -0
- package/native-notices/crates/clap-4.6.1/license-apache +202 -0
- package/native-notices/crates/clap-4.6.1/license-mit +19 -0
- package/native-notices/crates/clap_builder-4.6.0/license-apache +202 -0
- package/native-notices/crates/clap_builder-4.6.0/license-mit +19 -0
- package/native-notices/crates/clap_derive-4.6.1/license-apache +202 -0
- package/native-notices/crates/clap_derive-4.6.1/license-mit +19 -0
- package/native-notices/crates/clap_lex-1.1.0/license-apache +202 -0
- package/native-notices/crates/clap_lex-1.1.0/license-mit +19 -0
- package/native-notices/crates/colorchoice-1.0.5/license-apache +202 -0
- package/native-notices/crates/colorchoice-1.0.5/license-mit +19 -0
- package/native-notices/crates/cpufeatures-0.2.17/license-apache +201 -0
- package/native-notices/crates/cpufeatures-0.2.17/license-mit +25 -0
- package/native-notices/crates/crc32fast-1.5.0/license-apache +202 -0
- package/native-notices/crates/crc32fast-1.5.0/license-mit +21 -0
- package/native-notices/crates/crypto-common-0.1.7/license-apache +201 -0
- package/native-notices/crates/crypto-common-0.1.7/license-mit +25 -0
- package/native-notices/crates/digest-0.10.7/license-apache +201 -0
- package/native-notices/crates/digest-0.10.7/license-mit +25 -0
- package/native-notices/crates/errno-0.3.14/license-apache +201 -0
- package/native-notices/crates/errno-0.3.14/license-mit +25 -0
- package/native-notices/crates/flate2-1.1.9/license-apache +201 -0
- package/native-notices/crates/flate2-1.1.9/license-mit +25 -0
- package/native-notices/crates/form_urlencoded-1.2.2/license-apache +201 -0
- package/native-notices/crates/form_urlencoded-1.2.2/license-mit +25 -0
- package/native-notices/crates/futures-channel-0.3.33/license-apache +202 -0
- package/native-notices/crates/futures-channel-0.3.33/license-mit +26 -0
- package/native-notices/crates/futures-core-0.3.33/license-apache +202 -0
- package/native-notices/crates/futures-core-0.3.33/license-mit +26 -0
- package/native-notices/crates/futures-macro-0.3.33/license-apache +202 -0
- package/native-notices/crates/futures-macro-0.3.33/license-mit +26 -0
- package/native-notices/crates/futures-sink-0.3.33/license-apache +202 -0
- package/native-notices/crates/futures-sink-0.3.33/license-mit +26 -0
- package/native-notices/crates/futures-task-0.3.33/license-apache +202 -0
- package/native-notices/crates/futures-task-0.3.33/license-mit +26 -0
- package/native-notices/crates/futures-util-0.3.33/license-apache +202 -0
- package/native-notices/crates/futures-util-0.3.33/license-mit +26 -0
- package/native-notices/crates/generic-array-0.14.7/license +21 -0
- package/native-notices/crates/heck-0.5.0/license-apache +201 -0
- package/native-notices/crates/heck-0.5.0/license-mit +25 -0
- package/native-notices/crates/http-1.4.2/license-apache +201 -0
- package/native-notices/crates/http-1.4.2/license-mit +25 -0
- package/native-notices/crates/http-body-1.1.0/license +25 -0
- package/native-notices/crates/http-body-util-0.1.4/license +25 -0
- package/native-notices/crates/httparse-1.10.1/license-apache +201 -0
- package/native-notices/crates/httparse-1.10.1/license-mit +20 -0
- package/native-notices/crates/httpdate-1.0.3/license-apache +201 -0
- package/native-notices/crates/httpdate-1.0.3/license-mit +19 -0
- package/native-notices/crates/hyper-1.10.1/license +19 -0
- package/native-notices/crates/hyper-util-0.1.20/license +19 -0
- package/native-notices/crates/is_terminal_polyfill-1.70.2/license-apache +202 -0
- package/native-notices/crates/is_terminal_polyfill-1.70.2/license-mit +19 -0
- package/native-notices/crates/itoa-1.0.18/license-apache +176 -0
- package/native-notices/crates/itoa-1.0.18/license-mit +23 -0
- package/native-notices/crates/lazy_static-1.5.0/license-apache +201 -0
- package/native-notices/crates/lazy_static-1.5.0/license-mit +25 -0
- package/native-notices/crates/libc-0.2.186/license-apache +176 -0
- package/native-notices/crates/libc-0.2.186/license-mit +25 -0
- package/native-notices/crates/lock_api-0.4.14/license-apache +201 -0
- package/native-notices/crates/lock_api-0.4.14/license-mit +25 -0
- package/native-notices/crates/log-0.4.33/license-apache +201 -0
- package/native-notices/crates/log-0.4.33/license-mit +25 -0
- package/native-notices/crates/matchers-0.2.0/license +19 -0
- package/native-notices/crates/matchit-0.8.4/license +21 -0
- package/native-notices/crates/matchit-0.8.4/license.httprouter +29 -0
- package/native-notices/crates/memchr-2.8.2/copying +3 -0
- package/native-notices/crates/memchr-2.8.2/license-mit +21 -0
- package/native-notices/crates/memchr-2.8.2/unlicense +24 -0
- package/native-notices/crates/mime-0.3.17/license-apache +201 -0
- package/native-notices/crates/mime-0.3.17/license-mit +20 -0
- package/native-notices/crates/miniz_oxide-0.8.9/license +25 -0
- package/native-notices/crates/miniz_oxide-0.8.9/license-apache.md +177 -0
- package/native-notices/crates/miniz_oxide-0.8.9/license-mit.md +24 -0
- package/native-notices/crates/miniz_oxide-0.8.9/license-zlib.md +14 -0
- package/native-notices/crates/mio-1.2.1/license +19 -0
- package/native-notices/crates/nu-ansi-term-0.50.3/license +22 -0
- package/native-notices/crates/once_cell-1.21.4/license-apache +201 -0
- package/native-notices/crates/once_cell-1.21.4/license-mit +23 -0
- package/native-notices/crates/parking_lot-0.12.5/license-apache +201 -0
- package/native-notices/crates/parking_lot-0.12.5/license-mit +25 -0
- package/native-notices/crates/parking_lot_core-0.9.12/license-apache +201 -0
- package/native-notices/crates/parking_lot_core-0.9.12/license-mit +25 -0
- package/native-notices/crates/percent-encoding-2.3.2/license-apache +201 -0
- package/native-notices/crates/percent-encoding-2.3.2/license-mit +25 -0
- package/native-notices/crates/pin-project-lite-0.2.17/license-apache +177 -0
- package/native-notices/crates/pin-project-lite-0.2.17/license-mit +23 -0
- package/native-notices/crates/proc-macro2-1.0.106/license-apache +176 -0
- package/native-notices/crates/proc-macro2-1.0.106/license-mit +23 -0
- package/native-notices/crates/quote-1.0.45/license-apache +176 -0
- package/native-notices/crates/quote-1.0.45/license-mit +23 -0
- package/native-notices/crates/regex-automata-0.4.14/license-apache +201 -0
- package/native-notices/crates/regex-automata-0.4.14/license-mit +25 -0
- package/native-notices/crates/regex-syntax-0.8.11/license-apache +201 -0
- package/native-notices/crates/regex-syntax-0.8.11/license-mit +25 -0
- package/native-notices/crates/ryu-1.0.23/license-apache +176 -0
- package/native-notices/crates/ryu-1.0.23/license-boost +23 -0
- package/native-notices/crates/scopeguard-1.2.0/license-apache +201 -0
- package/native-notices/crates/scopeguard-1.2.0/license-mit +25 -0
- package/native-notices/crates/serde-1.0.228/license-apache +176 -0
- package/native-notices/crates/serde-1.0.228/license-mit +23 -0
- package/native-notices/crates/serde_core-1.0.228/license-apache +176 -0
- package/native-notices/crates/serde_core-1.0.228/license-mit +23 -0
- package/native-notices/crates/serde_derive-1.0.228/license-apache +176 -0
- package/native-notices/crates/serde_derive-1.0.228/license-mit +23 -0
- package/native-notices/crates/serde_json-1.0.150/license-apache +176 -0
- package/native-notices/crates/serde_json-1.0.150/license-mit +23 -0
- package/native-notices/crates/serde_path_to_error-0.1.20/license-apache +176 -0
- package/native-notices/crates/serde_path_to_error-0.1.20/license-mit +23 -0
- package/native-notices/crates/serde_urlencoded-0.7.1/license-apache +176 -0
- package/native-notices/crates/serde_urlencoded-0.7.1/license-mit +25 -0
- package/native-notices/crates/sha2-0.10.9/license-apache +201 -0
- package/native-notices/crates/sha2-0.10.9/license-mit +27 -0
- package/native-notices/crates/sharded-slab-0.1.7/license +19 -0
- package/native-notices/crates/signal-hook-registry-1.4.8/license-apache +201 -0
- package/native-notices/crates/signal-hook-registry-1.4.8/license-mit +25 -0
- package/native-notices/crates/simd-adler32-0.3.10/license.md +21 -0
- package/native-notices/crates/slab-0.4.12/license +25 -0
- package/native-notices/crates/smallvec-1.15.2/license-apache +201 -0
- package/native-notices/crates/smallvec-1.15.2/license-mit +25 -0
- package/native-notices/crates/socket2-0.6.4/license-apache +201 -0
- package/native-notices/crates/socket2-0.6.4/license-mit +25 -0
- package/native-notices/crates/strsim-0.11.1/license +23 -0
- package/native-notices/crates/syn-2.0.118/license-apache +176 -0
- package/native-notices/crates/syn-2.0.118/license-mit +23 -0
- package/native-notices/crates/sync_wrapper-1.0.2/license +177 -0
- package/native-notices/crates/thread_local-1.1.9/license-apache +201 -0
- package/native-notices/crates/thread_local-1.1.9/license-mit +25 -0
- package/native-notices/crates/tokio-1.52.3/license +21 -0
- package/native-notices/crates/tokio-macros-2.7.0/license +22 -0
- package/native-notices/crates/tokio-stream-0.1.18/license +21 -0
- package/native-notices/crates/tokio-util-0.7.18/license +21 -0
- package/native-notices/crates/tower-0.5.3/license +25 -0
- package/native-notices/crates/tower-layer-0.3.3/license +25 -0
- package/native-notices/crates/tower-service-0.3.3/license +25 -0
- package/native-notices/crates/tracing-0.1.44/license +25 -0
- package/native-notices/crates/tracing-attributes-0.1.31/license +25 -0
- package/native-notices/crates/tracing-core-0.1.36/license +25 -0
- package/native-notices/crates/tracing-log-0.2.0/license +25 -0
- package/native-notices/crates/tracing-subscriber-0.3.23/license +25 -0
- package/native-notices/crates/typenum-1.20.1/license +1 -0
- package/native-notices/crates/typenum-1.20.1/license-apache +201 -0
- package/native-notices/crates/typenum-1.20.1/license-mit +21 -0
- package/native-notices/crates/unicode-ident-1.0.24/license-apache +176 -0
- package/native-notices/crates/unicode-ident-1.0.24/license-mit +23 -0
- package/native-notices/crates/unicode-ident-1.0.24/license-unicode +39 -0
- package/native-notices/crates/utf8parse-0.2.2/license-apache +176 -0
- package/native-notices/crates/utf8parse-0.2.2/license-mit +25 -0
- package/native-notices/crates/version_check-0.9.5/license-apache +201 -0
- package/native-notices/crates/version_check-0.9.5/license-mit +19 -0
- package/native-notices/crates/zmij-1.0.21/license-mit +23 -0
- package/native-notices/manifest.json +2457 -0
- package/native-notices/readme.md +44 -0
- package/native-notices/runtime/gcc/gpl-3.0.txt +674 -0
- package/native-notices/runtime/gcc/runtime-library-exception-3.1.txt +73 -0
- package/native-notices/runtime/glibc/lgpl-2.1.txt +502 -0
- package/native-notices/rust/compiler-builtins-license.txt +275 -0
- package/native-notices/rust/copyright-library.html +8266 -0
- package/native-notices/rust/crates/addr2line-0.25.1/license-apache +201 -0
- package/native-notices/rust/crates/addr2line-0.25.1/license-mit +25 -0
- package/native-notices/rust/crates/adler2-2.0.1/license-0bsd +12 -0
- package/native-notices/rust/crates/adler2-2.0.1/license-apache +201 -0
- package/native-notices/rust/crates/adler2-2.0.1/license-mit +23 -0
- package/native-notices/rust/crates/memchr-2.7.6/copying +3 -0
- package/native-notices/rust/crates/memchr-2.7.6/license-mit +21 -0
- package/native-notices/rust/crates/memchr-2.7.6/unlicense +24 -0
- package/native-notices/rust/crates/miniz_oxide-0.8.9/license +25 -0
- package/native-notices/rust/crates/miniz_oxide-0.8.9/license-apache.md +177 -0
- package/native-notices/rust/crates/miniz_oxide-0.8.9/license-mit.md +24 -0
- package/native-notices/rust/crates/miniz_oxide-0.8.9/license-zlib.md +14 -0
- package/native-notices/rust/crates/object-0.37.3/license-apache +201 -0
- package/native-notices/rust/crates/object-0.37.3/license-mit +25 -0
- package/native-notices/rust/licenses/apache-2.0.txt +73 -0
- package/native-notices/rust/licenses/bsd-2-clause.txt +9 -0
- package/native-notices/rust/licenses/cc-by-sa-4.0.txt +427 -0
- package/native-notices/rust/licenses/gcc-exception-3.1.txt +30 -0
- package/native-notices/rust/licenses/gpl-2.0-only.txt +133 -0
- package/native-notices/rust/licenses/gpl-3.0-or-later.txt +202 -0
- package/native-notices/rust/licenses/isc.txt +7 -0
- package/native-notices/rust/licenses/llvm-exception.txt +15 -0
- package/native-notices/rust/licenses/mit.txt +9 -0
- package/native-notices/rust/licenses/ncsa.txt +29 -0
- package/native-notices/rust/licenses/ofl-1.1.txt +43 -0
- package/native-notices/rust/licenses/unicode-3.0.txt +39 -0
- package/package.json +10 -9
- package/readme.md +100 -7
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.archiveinspection.ts +245 -0
- package/ts/classes.gitmanager.ts +72 -2
- package/ts/classes.gitmanagererror.ts +28 -0
- package/ts/classes.repositoryservice.ts +41 -12
- package/ts/index.ts +2 -0
- package/ts/models.ts +87 -1
- package/ts/rust-gitmanager-bridge.ts +53 -4
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
|
+
import { GitManagerError, isGitManagerErrorCode } from './classes.gitmanagererror.js';
|
|
2
3
|
import type {
|
|
4
|
+
IGitManagerAncestryRequest,
|
|
3
5
|
IGitManagerCommitDetail,
|
|
4
6
|
IGitManagerCommitRequest,
|
|
5
7
|
IGitManagerCommitSummary,
|
|
@@ -13,7 +15,6 @@ import type {
|
|
|
13
15
|
IGitManagerMergeRequest,
|
|
14
16
|
IGitManagerMergeResult,
|
|
15
17
|
IGitManagerReadFileRequest,
|
|
16
|
-
IGitManagerRef,
|
|
17
18
|
IGitManagerRefRequest,
|
|
18
19
|
IGitManagerProtectedRefsApplyResult,
|
|
19
20
|
IGitManagerSmartHttpRepositoryProtectedRefs,
|
|
@@ -34,6 +35,7 @@ import type {
|
|
|
34
35
|
IGitManagerTreeEntry,
|
|
35
36
|
IGitManagerTreeRequest,
|
|
36
37
|
IRustGitManagerConfig,
|
|
38
|
+
TGitManagerRefInventoryResult,
|
|
37
39
|
IRustGitManagerRepositoryServiceDescriptor,
|
|
38
40
|
} from './models.js';
|
|
39
41
|
|
|
@@ -69,11 +71,12 @@ type TGitManagerCommands = {
|
|
|
69
71
|
prepareRepositoryService: { params: IGitManagerRepositoryServiceRequest; result: IRustGitManagerRepositoryServiceDescriptor };
|
|
70
72
|
restoreRepositoryBundle: { params: IGitManagerRestoreBundleRequest; result: IGitManagerRepositoryInfo };
|
|
71
73
|
listRepositories: { params: Record<string, never>; result: IGitManagerRepositoryInfo[] };
|
|
72
|
-
listRefs: { params: IGitManagerRefRequest; result:
|
|
74
|
+
listRefs: { params: IGitManagerRefRequest; result: TGitManagerRefInventoryResult };
|
|
73
75
|
listRepositoryLfsPointers: { params: IGitManagerRepositorySelector; result: IGitManagerRepositoryLfsPointer[] };
|
|
74
76
|
mergeRepository: { params: IGitManagerMergeRequest; result: IGitManagerMergeResult };
|
|
75
77
|
listTree: { params: IGitManagerTreeRequest; result: IGitManagerTreeEntry[] };
|
|
76
78
|
readFile: { params: IGitManagerReadFileRequest; result: IGitManagerFileContent };
|
|
79
|
+
isAncestor: { params: IGitManagerAncestryRequest; result: boolean };
|
|
77
80
|
listCommits: { params: IGitManagerListCommitsRequest; result: IGitManagerCommitSummary[] };
|
|
78
81
|
getCommit: { params: IGitManagerCommitRequest; result: IGitManagerCommitDetail };
|
|
79
82
|
getDiff: { params: IGitManagerDiffRequest; result: IGitManagerDiff };
|
|
@@ -109,16 +112,37 @@ function buildLocalPaths(): string[] {
|
|
|
109
112
|
return paths;
|
|
110
113
|
}
|
|
111
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Rethrows a Rust response that carries a stable GitManager error code as a
|
|
117
|
+
* `GitManagerError`; every other failure is rethrown unchanged.
|
|
118
|
+
*/
|
|
119
|
+
const rethrowCodedError = (errorArg: unknown): never => {
|
|
120
|
+
if (
|
|
121
|
+
errorArg instanceof plugins.smartrust.RustBridgeRequestError
|
|
122
|
+
&& isGitManagerErrorCode(errorArg.responseErrorCode)
|
|
123
|
+
) {
|
|
124
|
+
throw new GitManagerError(errorArg.responseErrorCode, errorArg.message, {
|
|
125
|
+
cause: errorArg,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
throw errorArg;
|
|
129
|
+
};
|
|
130
|
+
|
|
112
131
|
export class RustGitManagerBridge extends plugins.EventEmitter {
|
|
113
132
|
private bridge: plugins.smartrust.RustBridge<TGitManagerCommands>;
|
|
133
|
+
private binaryLocator: plugins.smartrust.RustBinaryLocator;
|
|
114
134
|
|
|
115
135
|
constructor() {
|
|
116
136
|
super();
|
|
117
|
-
|
|
137
|
+
const binaryLocatorOptions: plugins.smartrust.IBinaryLocatorOptions = {
|
|
118
138
|
binaryName: 'rustgitmanager',
|
|
119
139
|
envVarName: 'GITMANAGER_RUST_BINARY',
|
|
120
140
|
platformPackagePrefix: '@foss.global/gitmanager',
|
|
121
141
|
localPaths: buildLocalPaths(),
|
|
142
|
+
};
|
|
143
|
+
this.binaryLocator = new plugins.smartrust.RustBinaryLocator(binaryLocatorOptions);
|
|
144
|
+
this.bridge = new plugins.smartrust.RustBridge<TGitManagerCommands>({
|
|
145
|
+
...binaryLocatorOptions,
|
|
122
146
|
requestTimeoutMs: 130000,
|
|
123
147
|
readyTimeoutMs: 10000,
|
|
124
148
|
});
|
|
@@ -135,6 +159,15 @@ export class RustGitManagerBridge extends plugins.EventEmitter {
|
|
|
135
159
|
return this.bridge.spawn();
|
|
136
160
|
}
|
|
137
161
|
|
|
162
|
+
/** Resolves the engine binary the bridge spawns, for its one-shot modes. */
|
|
163
|
+
public async findBinary(): Promise<string> {
|
|
164
|
+
const binaryPath = await this.binaryLocator.findBinary();
|
|
165
|
+
if (!binaryPath) {
|
|
166
|
+
throw new Error('Unable to locate the rustgitmanager binary');
|
|
167
|
+
}
|
|
168
|
+
return binaryPath;
|
|
169
|
+
}
|
|
170
|
+
|
|
138
171
|
public kill(): void {
|
|
139
172
|
this.bridge.kill();
|
|
140
173
|
}
|
|
@@ -278,7 +311,9 @@ export class RustGitManagerBridge extends plugins.EventEmitter {
|
|
|
278
311
|
return this.bridge.sendCommand('listRepositories', {});
|
|
279
312
|
}
|
|
280
313
|
|
|
281
|
-
public async listRefs(
|
|
314
|
+
public async listRefs(
|
|
315
|
+
requestArg: IGitManagerRefRequest,
|
|
316
|
+
): Promise<TGitManagerRefInventoryResult> {
|
|
282
317
|
return this.bridge.sendCommand('listRefs', requestArg);
|
|
283
318
|
}
|
|
284
319
|
|
|
@@ -302,6 +337,20 @@ export class RustGitManagerBridge extends plugins.EventEmitter {
|
|
|
302
337
|
return this.bridge.sendCommand('readFile', requestArg);
|
|
303
338
|
}
|
|
304
339
|
|
|
340
|
+
public async isAncestor(requestArg: IGitManagerAncestryRequest): Promise<boolean> {
|
|
341
|
+
const result = await this.bridge.sendCommand('isAncestor', {
|
|
342
|
+
org: requestArg.org,
|
|
343
|
+
repo: requestArg.repo,
|
|
344
|
+
ancestorObjectId: requestArg.ancestorObjectId,
|
|
345
|
+
descendantObjectId: requestArg.descendantObjectId,
|
|
346
|
+
...(requestArg.timeoutMs === undefined ? {} : { timeoutMs: requestArg.timeoutMs }),
|
|
347
|
+
}).catch(rethrowCodedError);
|
|
348
|
+
if (typeof result !== 'boolean') {
|
|
349
|
+
throw new Error('Rust GitManager returned an invalid ancestry result');
|
|
350
|
+
}
|
|
351
|
+
return result;
|
|
352
|
+
}
|
|
353
|
+
|
|
305
354
|
public async listCommits(requestArg: IGitManagerListCommitsRequest): Promise<IGitManagerCommitSummary[]> {
|
|
306
355
|
return this.bridge.sendCommand('listCommits', requestArg);
|
|
307
356
|
}
|