-
Notifications
You must be signed in to change notification settings - Fork 2
/
sync-cvs
executable file
·49 lines (39 loc) · 1.33 KB
/
sync-cvs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
#
# Note that we rsync the drupal cvs to speed up the things, as documented
# at http://drupal.org/node/277268. However we only rsync the directories
# of the modules needed - not the whole big CVS.
cd `dirname $0`
# Include our configuration options.
. ./drupal_sync.conf
QUIET="-q"
if [ ! $VERBOSE = "0" ]; then
QUIET=""
fi
export CVSROOT=$CVSROOT
if [ $# -gt 0 ]; then
LIST=$*
else
LIST=$MINE
fi
#init local cvs repo
mkdir -p $CVSSRV
if [ ! -d $CVSSRV/CVSROOT ]; then
cvs -d$CVSSRV init
chmod u+w $CVSSRV/CVSROOT/modules
echo "drupal drupal\ncontributions contributions" >> $CVSSRV/CVSROOT/modules
chmod u-w $CVSSRV/CVSROOT/modules
fi
for module in $LIST
do
mkdir -p $GITSRV/$module.cvs
mkdir -p $CVSSRV/contributions/modules/$module
# That way the files go into $module/$module. Doing so lets cvs work right
# althoug the repository isn't complete. Don't know why, but it works.
rsync -avz --delete cvs.drupal.org::cvsmirror-contrib/contributions/modules/$module $CVSSRV/contributions/modules/$module/ #> /dev/null 2>&1
cd $GITSRV/$module.cvs
#update git from local cvs mirror
# -k is important for cvs ids being replaced with $Id$
# -o master makes sure the branch for HEAD is named "master"
git cvsimport -k -o master -a -p "-x,$QUIET" -v -d $CVSSRV contributions/modules/$module/$module
done