Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /admin/checkout-all.sh
ViewVC logotype

Annotation of /admin/checkout-all.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6683 - (view) (download) (as text)

1 : blume 2152 #!/bin/sh
2 : jhr 4444 #
3 : jhr 6683 # COPYRIGHT (c) 2020 The Fellowship of SML/NJ (http://www.smlnj.org)
4 : jhr 4444 # All rights reserved.
5 :     #
6 :     # Script to checkout a fresh copy of the SML/NJ sources.
7 :     #
8 :     # Usage:
9 :     # admin/checkout-all.sh [options] [dir]
10 :     #
11 :     # The options are
12 :     #
13 :     # -e, --export -- use "svn export" instead of "svn checkout"
14 :     # -r ARG -- use ARG as the checkout revision
15 :     # --release ARG -- checkout a release that was created with make-release.sh
16 : jhr 6683 # --force -- overwrite existing source trees
17 : jhr 4444 #
18 : blume 2152
19 : blume 2183 command=checkout
20 : jhr 4444 revision=""
21 :     release=""
22 : jhr 6683 force=no
23 : blume 2183
24 : blume 4529 usage() {
25 : jhr 4444 echo "usage: checkout-all.sh [-e | --export] [-r ARG | --revision ARG] [--release ARG] [dir]"
26 :     exit $1
27 :     }
28 :    
29 :     while [ $# -ge 1 ] ; do
30 :     case $1 in
31 :     --export|-e)
32 :     command=export
33 :     ;;
34 :     --revision|-r)
35 :     shift
36 :     if [ $# -ge 1 ] ; then
37 :     revision="-r $1"
38 :     else
39 :     usage 1
40 :     fi
41 :     ;;
42 :     --release)
43 :     shift
44 :     if [ $# -ge 1 ] ; then
45 :     release="releases/release-$1"
46 :     else
47 :     usage 1
48 :     fi
49 :     ;;
50 :     --help|-h) usage 0
51 :     ;;
52 : jhr 6683 --force)
53 :     force=yes
54 :     ;;
55 : jhr 4444 -*) usage 1
56 :     ;;
57 :     esac
58 :     shift
59 :     done
60 :    
61 :     if [ x"$release" != x -a x"$revision" != x ] ; then
62 :     echo "checkout-all.sh: cannot specify both a release and revision"
63 :     exit 1
64 : blume 2183 fi
65 :    
66 :     if [ $# -ge 1 ] ; then
67 : blume 2152 mkdir $1
68 :     cd $1
69 :     fi
70 :    
71 : jhr 4444 # default release is the trunk
72 :     #
73 :     if [ x"$release" = x ] ; then
74 :     release="trunk"
75 :     fi
76 :    
77 : blume 2938 gf=https://smlnj-gforge.cs.uchicago.edu/svn
78 : blume 2160 smlnj=$gf/smlnj
79 : blume 2152
80 : blume 2901 # checkout source target
81 : blume 2160 checkout(){
82 : jhr 4444 source=$1/$release
83 : blume 2901 target=$2
84 : blume 2160 if [ ! -d $target ] ; then
85 : jhr 4449 echo "svn $command $revision $source $target"
86 :     svn $command $revision $source $target
87 : jhr 6683 elif [ $force = yes ] ; then
88 :     echo Replacing existing $target tree
89 :     rm -rf $target
90 :     echo "svn $command $revision $source $target"
91 :     svn $command $revision $source $target
92 : blume 2160 else
93 :     echo Tree $target already exists.
94 :     fi
95 :     }
96 : blume 2152
97 : blume 2901 # checkout from smlnj tree
98 :     smlnj(){
99 : blume 2922 checkout $smlnj/$1 $1
100 : blume 2901 }
101 : blume 2160
102 : blume 2901 smlnjbase(){
103 : blume 2922 checkout $smlnj/$1 $2
104 : blume 2901 }
105 : blume 2160
106 : blume 2901 smlnj config
107 :     smlnjbase sml base
108 :     smlnj smlnj-lib
109 :     smlnj MLRISC
110 :     smlnj ml-yacc
111 :     smlnj trace-debug-profile
112 :     smlnj pgraph
113 : blume 2160
114 : blume 2901 smlnj ckit
115 :     smlnj cml
116 :     smlnj eXene
117 :     smlnj smlnj-c
118 :     smlnj ml-burg
119 :     smlnj ml-lex
120 :     smlnj heap2asm
121 :     smlnj nlffi
122 :    
123 : jhr 4444 smlnj doc
124 :    
125 :     # the following do not get tagged releases, so we fallback to regular
126 :     # behavior
127 :     release="trunk"
128 :     revision=""
129 : jhr 4338 checkout $gf/asdl asdl
130 : blume 2902 checkout $gf/ml-lpt ml-lpt
131 : jhr 3975 checkout $gf/smldoc smldoc

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0