summaryrefslogtreecommitdiff
path: root/src/libgit2/transports/smart.c
diff options
context:
space:
mode:
authoryuangli <yuangli@mathworks.com>2022-07-29 13:19:33 +0100
committeryuangli <yuangli@mathworks.com>2022-07-29 13:19:33 +0100
commit68bbcefd35a8b3a864e9ed7598b19fefc5f74055 (patch)
treeeff903d5071fb79348e70fa62a9fcdb745b47938 /src/libgit2/transports/smart.c
parenta491917f8e37108b6180590736d833095626b1ec (diff)
parentf19ffc8a6d88432146a87cd3fb2ca21528478be4 (diff)
downloadlibgit2-68bbcefd35a8b3a864e9ed7598b19fefc5f74055.tar.gz
Merge branch 'transportPR' into shallow-clone-network
Diffstat (limited to 'src/libgit2/transports/smart.c')
-rw-r--r--src/libgit2/transports/smart.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/libgit2/transports/smart.c b/src/libgit2/transports/smart.c
index 7f57dba2a..9d1afeb05 100644
--- a/src/libgit2/transports/smart.c
+++ b/src/libgit2/transports/smart.c
@@ -482,3 +482,31 @@ int git_transport_smart(git_transport **out, git_remote *owner, void *param)
*out = (git_transport *) t;
return 0;
}
+
+size_t git_shallowarray_count(git_shallowarray *array)
+{
+ return git_array_size(array->array);
+}
+
+const git_oid * git_shallowarray_get(git_shallowarray *array, size_t idx)
+{
+ return git_array_get(array->array, idx);
+}
+
+int git_shallowarray_add(git_shallowarray *array, git_oid *oid)
+{
+ size_t oid_index;
+ if (git_array_search(&oid_index, array->array, (git_array_compare_cb)git_oid_cmp, &oid) < 0) {
+ git_oid *tmp = git_array_alloc(array->array);
+ git_oid_cpy(tmp, oid);
+ }
+ return 0;
+}
+
+int git_shallowarray_remove(git_shallowarray *array, git_oid *oid)
+{
+ GIT_UNUSED(array);
+ GIT_UNUSED(oid);
+ /* no git_array_remove… meh */
+ return -1;
+}