12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- GIT="git --no-pager"
- GITPARAM="--color=always"
- RSYNC="rsync -a --info=NAME --delete --exclude=.git --exclude=.gitignore"
- export LC_ALL="C"
- declare -a git_repositories
- echo $git_repositories
- function in_git_repositories {
- for entry in "${git_repositories[@]}"; do
- [[ "$entry" == "$1" ]] && echo "found";
- done
- }
- function mod_install {
- group=$1
- shift
- #echo $group
- declare excluded
- excluded_string=""
- while (( "$#" )); do
- if [ ${1:0:10} == '--exclude=' ]; then
- excluded=(${excluded[@]} ${1#--exclude=*})
- excluded_string="$excluded_string $1"
- shift
- else
- break
- fi
- done
- #echo "excluded files:" ${excluded[@]}
- function in_excluded {
- for entry in "${excluded[@]}"; do
- [[ "$entry" == "$1" ]] && echo "found";
- done
- }
- declare sync_list
- if [ "$#" == "0" ]; then
- sync_list=("$group"/*)
- else
- sync_list=(${@})
- fi
- #echo "sync_list:" ${sync_list[@]}
- for mod in ${sync_list[@]}; do
- #echo "mod:" $mod
- if [ -d "$mod" ] && [ -z "$(in_excluded "$(basename $mod)")" ]; then
- echo "Process repo $mod"
- cd "$mod"
- GIT_REPO="$(git remote -v | grep '\(fetch\)' )"
- #echo "GIT REPO: $GIT_REPO"
- if [ -z "$(in_git_repositories "$GIT_REPO")" ]; then
- echo '' >> "$LOG"
- echo "$GIT_REPO" >> "$LOG"
- git branch -vv | grep '^[*]' >> "$LOG"
- git_repositories=(${git_repositories[@]} "$GIT_REPO")
- fi
- echo "Mod: $mod" >> "$LOG"
- cd - >/dev/null
- $RSYNC $excluded_string "$SRC"/"$mod" "$DST"/"$group"/
- fi
- done
- }
- function set_package {
- LOG="$DST"/"$1"/mod_sources.txt
- cp "$DST"/build.sh "$DST"/"$1"/
- rm "$LOG" 2>/dev/null
- git_repositories=( )
- }
- rm "$LOG" 2>/dev/null
|