nix-tools/lib/util-pkgtree.sh

51 lines
1.2 KiB
Bash
Raw Normal View History

2015-02-16 20:33:20 +01:00
#!/bin/bash
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
sync_tree(){
2015-02-17 00:02:34 +01:00
if [[ "$(git log --pretty=%H ...refs/heads/master^)" == "$(git ls-remote origin -h refs/heads/master |cut -f1)" ]]; then
2015-02-16 23:00:32 +01:00
msg "[$1]" && msg2 "up to date"
else
msg "[$1]" && msg2 "sync"
git pull origin master
fi
}
clone_tree(){
msg "[$1]" && msg2 "clone"
git clone $2.git
}
sync_tree_manjaro(){
2015-02-16 20:33:20 +01:00
cd ${tree_dir}
for repo in ${repo_tree[@]};do
2015-02-16 22:32:21 +01:00
if [[ -d packages-${repo} ]];then
cd packages-${repo}
2015-02-16 23:00:32 +01:00
sync_tree "${repo}"
2015-02-16 20:33:20 +01:00
cd ..
else
2015-02-16 23:07:25 +01:00
clone_tree "${repo}" "${host_tree}/packages-${repo}"
2015-02-16 20:33:20 +01:00
fi
done
cd ..
}
sync_tree_abs(){
2015-02-17 00:02:34 +01:00
cd ${tree_dir_abs}
2015-02-16 23:00:32 +01:00
if [[ -d packages ]];then
cd packages
2015-02-17 00:02:34 +01:00
sync_tree "${tree_dir_abs}"
2015-02-16 23:00:32 +01:00
cd ..
else
2015-02-17 00:02:34 +01:00
clone_tree "${tree_dir_abs}" "${host_tree_abs}"
2015-02-16 23:00:32 +01:00
fi
2015-02-16 20:33:20 +01:00
cd ..
}