rootfs.py: Typofixes in comments and prints.
[matrix.git] / bin / matrix-upload
1 #!/bin/sh
2
3 if [ x"$1" = x ] || [ x"$1" != x"$@" ] || [ x"$1" = x"-h" ]
4 then
5         echo >&2 "Usage: $0 [[<user>@]<server>:]<path>"
6         echo >&2
7         echo >&2 "The following directories will be created under <path>:"
8         echo >&2 "      source/<component>.git"
9         echo >&2 "      meta/<component>.git"
10         echo >&2
11         exit 1
12 fi
13 LOCATION="$1"
14
15 if [ ! -d .git ]
16 then
17         echo >&2 "Git repository not found"
18         echo >&2 "You must be in the working directory of the source repository"
19         exit 1
20 fi
21
22 if [ ! -d meta ] || [ ! -d meta/.git ]
23 then
24         echo >&2 "Meta repository not found"
25         exit 1
26 fi
27
28 NAME="`basename $PWD`"
29
30 set -e
31
32 umask 002
33
34 TMP=meta/upload
35 rm -rf $TMP
36 mkdir -p $TMP/source $TMP/meta
37
38 git clone --bare .    "$TMP/source/$NAME.git"
39 git clone --bare meta "$TMP/meta/$NAME.git"
40
41 GIT_DIR="$TMP/source/$NAME.git" git config core.sharedRepository all
42 GIT_DIR="$TMP/meta/$NAME.git"   git config core.sharedRepository all
43
44 scp -r $TMP/source $TMP/meta "$LOCATION/"
45
46 rm -rf $TMP
47
48 echo
49 echo "Adding \"origin\" remote to meta repository"
50 GIT_DIR="meta/.git" git remote add -f -m master origin "$LOCATION/meta/$NAME.git"
51
52 UPSTREAM=`git remote show origin 2>/dev/null | grep URL: | cut -d: -f2-`
53 if [ x"$UPSTREAM" != x ]
54 then
55         echo "Renaming \"origin\" remote of source repository as \"upstream\""
56         rm -rf .git/refs/remotes/origin
57         git remote rm origin
58         git remote add -f upstream $UPSTREAM
59 fi
60
61 echo "Adding \"origin\" remote to source repository"
62 git remote add -f -m master origin "$LOCATION/source/$NAME.git"