mirror of
git://f0xx.org/android_cast
synced 2026-07-29 05:17:39 +03:00
gitea export submods
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user