diff options
Diffstat (limited to 'include/git.sh')
-rw-r--r-- | include/git.sh | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/include/git.sh b/include/git.sh index 0a05b5ab..bbc5140e 100644 --- a/include/git.sh +++ b/include/git.sh @@ -61,7 +61,7 @@ git_prep() [ "$XBMK_RELEASE" = "y" ] && rmgit "$tmpgit" [ "$_loc" = "${_loc%/*}" ] || x_ mkdir -p "${_loc%/*}" - mv "$tmpgit" "$_loc" || err "git_prep: !mv $tmpgit $_loc" + x_ mv "$tmpgit" "$_loc" } fetch_submodule() @@ -82,43 +82,25 @@ fetch_submodule() [ "$st" = "file" ] && xbmkget "$subfile" "$subfile_bkup" \ "$tmpgit/$1" "$subhash" && return 0 - rm -Rf "$tmpgit/$1" || err "!rm '$mdir' '$1'" + x_ rm -Rf "$tmpgit/$1" tmpclone "$subrepo" "$subrepo_bkup" "$tmpgit/$1" "$subhash" \ "$mdir/${1##*/}/patches" } tmpclone() { - livepull="n" && [ "$repofail" = "y" ] && \ - printf "Cached clone failed; trying online.\n" 1>&2 && livepull="y" - - repofail="n" - - [ $# -lt 6 ] || rm -Rf "$3" || err "git retry: !rm $3 ($1)" - repodir="$XBMK_CACHE/repo/${1##*/}" && [ $# -gt 5 ] && repodir="$3" - mkdir -p "$XBMK_CACHE/repo" || err "!rmdir $XBMK_CACHE/repo" - - if [ "$livepull" = "y" ] && [ ! -d "$repodir" ]; then - git clone "$1" "$repodir" || git clone $2 "$repodir" || \ - err "!clone $1 $2 $repodir $4 $5" # - elif [ -d "$repodir" ] && [ $# -lt 6 ]; then - git -C "$repodir" pull || sleep 3 || git -C "$repodir" pull \ - || sleep 3 || git -C "$repodir" pull || : - fi - ( - [ $# -gt 5 ] || git clone "$repodir" "$3" || err "!clone $repodir $3" - git -C "$3" reset --hard "$4" || err "!reset $1 $2 $3 $4 $5" - fx_ "eval x_ git -C \"$3\" am" "$5" -type f - ) || repofail="y" - - [ "$repofail" = "y" ] && [ $# -lt 6 ] && tmpclone "$@" retry - [ "$repofail" = "y" ] && err "!clone $1 $2 $3 $4 $5"; : + [ -d "$3" ] && return 0 + printf "Creating git clone '%s' from '%s', '%s'\n" "$3" "$1" "$2" + git clone "$1" "$3" || x_ rm -Rf "$3" + [ -d "$3" ] || x_ git clone "$2" "$3" + x_ git -C "$3" reset --hard "$4" + fx_ "eval x_ git -C \"$3\" am" find "$5" -type f } nuke() { e "config/${1%/}/nuke.list" f missing || while read -r nukefile; do rmf="src/${2%/}/$nukefile" && [ -L "$rmf" ] && continue - e "$rmf" e missing || rm -Rf "$rmf" || err "!rm $rmf, ${2%/}" + e "$rmf" e missing || x_ rm -Rf "$rmf" done < "config/${1%/}/nuke.list"; : } |