blob: 166e091de342bf87ffd9cc3ab1f705eb59df723d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/bin/bash
set -xe
GIT_USER=""
GIT_HOSTNAME=""
GIT_SSH_PORT="22"
PREFIX="$(echo $(basename "${0}") | cut -d"-" -f1)"
. ~/.buildscripts/"${PREFIX}.conf"
for pkg in "${@}"; do
subdir="$(dirname ${pkg})/"
pkg="$(basename ${pkg})"
ssh -l"${GIT_USER}" "${GIT_HOSTNAME}" "cd ~/git && _misc_/setup-repository ${subdir}${pkg} '${pkg} upstream project'"
ssh -l"${GIT_USER}" "${GIT_HOSTNAME}" "cd ~/git && _misc_/update-repository-posixacls ${subdir}${pkg}"
POP="0"
if [ -d "${pkg}" ]; then
pushd "${pkg}"
POP="1"
else
# Use some heuristics to find out if we're already in the directory.
# The current working dir must begin with the string given as parameter.
# Suffixes like .git, -git or the like can be used without making this check fail.
CUR_DIR="$(basename "$(pwd)")"
CUR_DIR="${CUR_DIR:0:${#pkg}}"
if [ "${CUR_DIR}" != "${pkg}" ]; then
echo "Package '${pkg}' does not exist!" >&2
exit 1
fi
fi
echo "${pkg}: MASTER BRANCH" && git push "ssh://${GIT_USER}@${GIT_HOSTNAME}:${GIT_SSH_PORT}/~/git/${subdir}${pkg}" master
git branch | grep upstream &>/dev/null && echo "${pkg}: RELEASE BRANCH" && git push "ssh://${GIT_USER}@${GIT_HOSTNAME}:${GIT_SSH_PORT}/~/git/${subdir}${pkg}" upstream
git branch | grep pristine-tar &>/dev/null && echo "${pkg}: PRISTINE-TAR" && git push "ssh://${GIT_USER}@${GIT_HOSTNAME}:${GIT_SSH_PORT}/~/git/${subdir}${pkg}" pristine-tar
echo "${pkg}: PUSHING TAGS" && git push --tags "ssh://${GIT_USER}@${GIT_HOSTNAME}:${GIT_SSH_PORT}/~/git/${subdir}${pkg}"
git remote | grep origin >/dev/null || git remote add origin "ssh://${GIT_USER}@${GIT_HOSTNAME}:${GIT_SSH_PORT}/~/git/${subdir}${pkg}"
git remote add "${PREFIX}-public" "ssh://${GIT_USER}@${GIT_HOSTNAME}:${GIT_SSH_PORT}/~/git/${subdir}${pkg}"
[ "${POP}" = "1" ] && popd
done
|