]> git.wincent.com - docvim.git/blob - bin/get
Add bin/get and bin/put for updating integration tests and downstreams
[docvim.git] / bin / get
1 #!/bin/sh
2
3 # Get fresh copies of source files for the integration tests.
4 #
5 # Assumes source repos exist as peers of the current repo.
6
7 set -e
8
9 usage() {
10   echo "Get fresh copies of source files for use in integration tests."
11   echo
12   echo "Usage:"
13   echo
14   echo "  bin/get ferret   # freshen a specific source"
15   echo "  bin/get scalpel"
16   echo "  --------------------------------------------"
17   echo "  bin/get all      # freshen all sources"
18   exit
19 }
20
21 update() {
22   local PROJECT
23   PROJECT="$1"
24   echo "Updating $PROJECT"
25   git --git-dir "../$PROJECT/.git" archive --prefix="$PROJECT/input/" master \
26     | tar -x -C tests/fixtures/integration -f -
27 }
28
29 if [ $# -eq 0 ]; then
30   usage
31 else
32   while [ $# -gt 0 ]; do
33     PROJECT=$1
34     shift
35     case $PROJECT in
36       all)
37         update "ferret"
38         update "scalpel"
39         ;;
40       ferret|scalpel)
41         update "$PROJECT"
42         ;;
43       *)
44         echo "Unrecognized project: $PROJECT"
45         echo
46         usage
47         ;;
48     esac
49   done
50 fi