test expand recurse
parent
4907dcdc4f
commit
451bef450c
|
|
@ -47,7 +47,7 @@ gitlab() (
|
|||
local root="${2:-"/"}"
|
||||
|
||||
local b64_files=()
|
||||
local b64_trees=("$root")
|
||||
local b64_trees=("$(echo "$root" | base64)")
|
||||
local i=0
|
||||
|
||||
find_each() {
|
||||
|
|
@ -61,7 +61,7 @@ gitlab() (
|
|||
| grep .
|
||||
}
|
||||
while [ "$i" -lt "${#b64_trees[@]}" ]; do
|
||||
got="$(_list_tree "$project" "${b64_trees[i]}")"
|
||||
got="$(_list_tree "$project" "$(echo "${b64_trees[i]}" | base64 --decode)")"
|
||||
for b64_tree in $(find_each "tree" "$got"); do
|
||||
if ! echo "${b64_trees[@]}" | grep -q "[ ^]$b64_tree[ $]"; then
|
||||
b64_trees+=("$b64_tree")
|
||||
|
|
@ -82,7 +82,7 @@ gitlab() (
|
|||
|
||||
_list_tree() {
|
||||
local project="$(urlencode "$1")"
|
||||
local path="/api/v4/projects/$project/repository/tree"
|
||||
local path="api/v4/projects/$project/repository/tree"
|
||||
local query="recursive=true&path=$2"
|
||||
_gcurl "https://gitlab-app.eng.qops.net/$path?$query"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,28 @@
|
|||
#! /bin/bash
|
||||
|
||||
test_get() {
|
||||
test___expand() {
|
||||
gitlab eval "$(cat <<EOF
|
||||
_gcurl() {
|
||||
echo "\$*" | grep -q api.v4.projects.my%20project.repository.files.my%20file.raw
|
||||
case "\$1" in
|
||||
'https://gitlab-app.eng.qops.net/api/v4/projects/project/repository/tree?recursive=true&path=dir' )
|
||||
echo '[
|
||||
{"id": "a", "name": "dir2", "type": "tree", "path": "dir/dir2", "mode": "040000"},
|
||||
{"id": "b", "name": "blob", "type": "blob", "path": "dir/blob", "mode": "100644"}
|
||||
]'
|
||||
;;
|
||||
'https://gitlab-app.eng.qops.net/api/v4/projects/project/repository/tree?recursive=true&path=dir/dir2' )
|
||||
echo '[
|
||||
{"id": "c", "name": "blob2", "type": "blob", "path": "dir/dir2/blob2", "mode": "100644"}
|
||||
]'
|
||||
;;
|
||||
* )
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
get "my project" "my file"
|
||||
__expand project dir | grep -q ^$(echo project | base64)$
|
||||
__expand project dir | grep -q ^$(echo dir/blob | base64)$
|
||||
__expand project dir | grep -q ^$(echo dir/dir2/blob2 | base64)$
|
||||
EOF
|
||||
)"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue