Line | |
---|
1 | #!/bin/bash
|
---|
2 |
|
---|
3 | # dasscm_remote_update is intended for systems
|
---|
4 | # where a local dasscm installation is not possible
|
---|
5 | # but ssh and rsync is available.
|
---|
6 | # In this case,
|
---|
7 | # the files from the local repository checkout
|
---|
8 | # are updated to the current content.
|
---|
9 | # Use only, if a local dasscm installation is not possbile!
|
---|
10 |
|
---|
11 | DIR="$1"
|
---|
12 |
|
---|
13 | set -o errexit -o nounset
|
---|
14 |
|
---|
15 | usage()
|
---|
16 | {
|
---|
17 | echo "
|
---|
18 | usage: $0 hostname
|
---|
19 | hostname must be identical with the repository path
|
---|
20 | "
|
---|
21 | exit 1
|
---|
22 | }
|
---|
23 |
|
---|
24 | OPTIONS="${DASSCM_RSYNC_OPTIONS:-}"
|
---|
25 | REMOTE_USER=${DASSCM_REMOTE_USER:-"root"}
|
---|
26 |
|
---|
27 | if [ -z "$DIR" ]; then
|
---|
28 | usage
|
---|
29 | fi
|
---|
30 |
|
---|
31 | if [ ! -d "$DIR" ]; then
|
---|
32 | echo
|
---|
33 | echo " failed to access directory $DIR"
|
---|
34 | usage
|
---|
35 | fi
|
---|
36 |
|
---|
37 | # start at an current repository checkout of morbo.
|
---|
38 | # only already existing files will be updated.
|
---|
39 | # If you want to add more files,
|
---|
40 | # create the file in the repository and re-run this script
|
---|
41 | cd $DIR
|
---|
42 | svn up || (echo "failed to update repository $DIR"; usage)
|
---|
43 | FILELIST=`mktemp`
|
---|
44 | svn ls -R > $FILELIST
|
---|
45 | SERVER=`basename "$PWD"`
|
---|
46 | RESULT=1
|
---|
47 | if [ "$OPTIONS" ]; then
|
---|
48 | rsync -av --checksum --existing --files-from $FILELIST "$OPTIONS" $REMOTE_USER@$SERVER:/. .
|
---|
49 | RESULT=$?
|
---|
50 | else
|
---|
51 | rsync -av --checksum --existing --files-from $FILELIST $REMOTE_USER@$SERVER:/. .
|
---|
52 | RESULT=$?
|
---|
53 | fi
|
---|
54 | if [ "$RESULT" -gt 0 ]; then
|
---|
55 | echo "FAILED to transfer dasscm files. Failed to access server $SERVER via ssh/rsync?"
|
---|
56 | usage
|
---|
57 | fi
|
---|
58 | rm $FILELIST
|
---|
59 | echo "updated file must be commited manually"
|
---|
Note:
See
TracBrowser
for help on using the repository browser.