mirror of
git://f0xx.org/android_cast
synced 2026-07-29 08:37:37 +03:00
gitea export submods
This commit is contained in:
@@ -69,15 +69,33 @@ parse_gitmodules_file() {
|
||||
' "$_file"
|
||||
}
|
||||
|
||||
# repo|upstream|path[|branch] — stdout only; status lines go to stderr.
|
||||
is_valid_submodule_entry() {
|
||||
case "$1" in
|
||||
*'|'*) ;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
_repo="${1%%|*}"
|
||||
_rest="${1#*|}"
|
||||
_url="${_rest%%|*}"
|
||||
_rest2="${_rest#*|}"
|
||||
_path="${_rest2%%|*}"
|
||||
[ -n "$_repo" ] && [ -n "$_url" ] && [ -n "$_path" ] || return 1
|
||||
case "$_repo" in
|
||||
*' '*|*'['*|*']'*) return 1 ;;
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
|
||||
load_submodule_entries() {
|
||||
_gitmodules="${1:-}"
|
||||
if [ -n "$_gitmodules" ] && [ -r "$_gitmodules" ]; then
|
||||
log "reading submodules from $_gitmodules"
|
||||
log "reading submodules from $_gitmodules" >&2
|
||||
parse_gitmodules_file "$_gitmodules"
|
||||
return 0
|
||||
fi
|
||||
if [ -r "$GITEA_SUBMODULES_CONF" ]; then
|
||||
log "reading submodules from $GITEA_SUBMODULES_CONF"
|
||||
log "reading submodules from $GITEA_SUBMODULES_CONF" >&2
|
||||
grep -v '^[[:space:]]*#' "$GITEA_SUBMODULES_CONF" | grep -v '^[[:space:]]*$'
|
||||
return 0
|
||||
fi
|
||||
@@ -138,8 +156,18 @@ if ! gitea_user_exists "$GITEA_OWNER"; then
|
||||
fi
|
||||
|
||||
mkdir -p "$WORK_DIR"
|
||||
load_submodule_entries "$_gitmodules_arg" > "$WORK_DIR/entries.list" \
|
||||
|| die "no submodule list (pass .gitmodules path or use $GITEA_SUBMODULES_CONF)"
|
||||
: > "$WORK_DIR/entries.list"
|
||||
if ! load_submodule_entries "$_gitmodules_arg" | while IFS= read -r _line; do
|
||||
[ -n "$_line" ] || continue
|
||||
is_valid_submodule_entry "$_line" || {
|
||||
warn "skipping invalid entry: $_line"
|
||||
continue
|
||||
}
|
||||
printf '%s\n' "$_line"
|
||||
done > "$WORK_DIR/entries.list"; then
|
||||
die "no submodule list (pass .gitmodules path or use $GITEA_SUBMODULES_CONF)"
|
||||
fi
|
||||
[ -s "$WORK_DIR/entries.list" ] || die "no valid submodule entries parsed"
|
||||
|
||||
if command -v rc-service >/dev/null 2>&1; then
|
||||
rc-service gitea status 2>/dev/null | grep -qi started || rc-service gitea start 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user