1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 05:58:14 +03:00

gitea export submods

This commit is contained in:
Anton Afanasyeu
2026-06-10 21:46:40 +02:00
parent bc6b7cc17b
commit 7ad24f933c

View File

@@ -69,15 +69,33 @@ parse_gitmodules_file() {
' "$_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() { load_submodule_entries() {
_gitmodules="${1:-}" _gitmodules="${1:-}"
if [ -n "$_gitmodules" ] && [ -r "$_gitmodules" ]; then if [ -n "$_gitmodules" ] && [ -r "$_gitmodules" ]; then
log "reading submodules from $_gitmodules" log "reading submodules from $_gitmodules" >&2
parse_gitmodules_file "$_gitmodules" parse_gitmodules_file "$_gitmodules"
return 0 return 0
fi fi
if [ -r "$GITEA_SUBMODULES_CONF" ]; then 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:]]*$' grep -v '^[[:space:]]*#' "$GITEA_SUBMODULES_CONF" | grep -v '^[[:space:]]*$'
return 0 return 0
fi fi
@@ -138,8 +156,18 @@ if ! gitea_user_exists "$GITEA_OWNER"; then
fi fi
mkdir -p "$WORK_DIR" mkdir -p "$WORK_DIR"
load_submodule_entries "$_gitmodules_arg" > "$WORK_DIR/entries.list" \ : > "$WORK_DIR/entries.list"
|| die "no submodule list (pass .gitmodules path or use $GITEA_SUBMODULES_CONF)" 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 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 rc-service gitea status 2>/dev/null | grep -qi started || rc-service gitea start 2>/dev/null || true