]> git.wincent.com - docvim.git/blob - bin/put
Teach bin/get to grab from HEAD, not master
[docvim.git] / bin / put
1 #!/bin/sh
2
3 # Put fresh copies of output files into downstream projects based on integration
4 # test golden files.
5 #
6 # Assumes downstreams exist as peers of the current repo.
7 #
8 # Note: Normally one would update the downstreams from each downstream itself,
9 # using the globally installed `docvim` instance, but this script provides a
10 # means of conveniently running an arbitary, potentially unreleased, version of
11 # `docvim` against a downstream.
12
13 set -e
14
15 usage() {
16   echo "Install fresh copies of generated files from integration tests."
17   echo
18   echo "Usage:"
19   echo
20   echo "  bin/put ferret      #"
21   echo "  bin/put pinnacle    # freshen a specific downstream"
22   echo "  bin/put scalpel     #"
23   echo "  bin/put vim-docvim  #"
24   echo "  ---------------------------------------------------"
25   echo "  bin/put all         # freshen all downstreams"
26   exit
27 }
28
29 update() {
30   local PROJECT
31   PROJECT="$1"
32   echo "Updating $PROJECT"
33   cp "tests/fixtures/integration/$PROJECT/golden/markdown.golden" \
34     "../$PROJECT/README.md"
35   mkdir -p "../$PROJECT/doc"
36   cp "tests/fixtures/integration/$PROJECT/golden/plaintext.golden" \
37     "../$PROJECT/doc/$PROJECT.txt"
38 }
39
40 if [ $# -eq 0 ]; then
41   usage
42 else
43   while [ $# -gt 0 ]; do
44     PROJECT=$1
45     shift
46     case $PROJECT in
47       all)
48         update ferret
49         update pinnacle
50         update scalpel
51         update vim-docvim
52         ;;
53       ferret|pinnacle|scalpel|vim-docvim)
54         update "$PROJECT"
55         ;;
56       *)
57         echo "Unrecognized project: $PROJECT"
58         echo
59         usage
60         ;;
61     esac
62   done
63 fi