[ADD] easy-setup script for employees
and others, but mostly employees
This commit is contained in:
parent
8d2afb026e
commit
26230110c0
|
@ -0,0 +1,98 @@
|
|||
#/bin/sh
|
||||
set -e
|
||||
|
||||
ODOO=https://github.com/odoo/odoo.git
|
||||
DEV=https://github.com/odoo-dev/odoo.git
|
||||
|
||||
usage () {
|
||||
cat <<EOF
|
||||
Usage: $0 [-m] [COPYNAME]
|
||||
|
||||
Checks out and sets up the Odoo git repository for "internal" development.
|
||||
|
||||
* Checks out the "production" repository (production branches) as the "odoo"
|
||||
remote
|
||||
* Checks out the "development" repository (for employee development branches)
|
||||
as the "dev" repository
|
||||
|
||||
By default, the working copy is "odoo"
|
||||
|
||||
Options:
|
||||
-h displays this help text
|
||||
-m includes github's merge refs. These are the pull requests to "odoo"
|
||||
which merge cleanly into the main repository, after having applied
|
||||
them to said repository
|
||||
EOF
|
||||
}
|
||||
|
||||
while getopts :hm opt
|
||||
do
|
||||
case $opt in
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
m)
|
||||
include_merge=yes
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $((OPTIND-1))
|
||||
copyname=${1:-"odoo"}
|
||||
|
||||
# Collect basic configuration data, ensures correct configuration of that repo
|
||||
printf "Enter your full name: "
|
||||
read name
|
||||
printf "Enter your (work) email: "
|
||||
read email
|
||||
|
||||
# create & set up repo
|
||||
git init $copyname
|
||||
cd $copyname
|
||||
|
||||
git config user.name "$name"
|
||||
git config user.email "$email"
|
||||
for key in branch diff interactive status; do
|
||||
git config --global color.$key auto
|
||||
done
|
||||
|
||||
# pre-push script preventing push to odoo repo by default. Git just execs
|
||||
# them, so they need a correct shebang and exec bit
|
||||
# if things get more extensive, should probably use git init templates
|
||||
cat <<EOF > .git/hooks/pre-push
|
||||
#!/bin/sh
|
||||
remote="\$1"
|
||||
url="\$2"
|
||||
|
||||
if [ "\$url" != "$ODOO" ]
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Pushing to the odoo remote ($ODOO) is forbidden, push to the dev remote"
|
||||
echo
|
||||
echo "See git help push if you really want to push to odoo"
|
||||
exit 1
|
||||
|
||||
EOF
|
||||
chmod +x .git/hooks/pre-push
|
||||
|
||||
# add basic repos as remotes
|
||||
git remote add odoo $ODOO
|
||||
git remote add dev $DEV
|
||||
|
||||
if [ $include_merge ]
|
||||
then
|
||||
git remote add merge $ODOO
|
||||
git config remote.merge.fetch '+refs/pull/*/merge:refs/remotes/merge/*'
|
||||
fi
|
||||
|
||||
echo
|
||||
git remote update
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue