forked from extern/egroupware
add perl version of checkout script
This commit is contained in:
parent
ed6fabcc15
commit
6cbefa333a
141
doc/cvs_full_checkout.pl
Executable file
141
doc/cvs_full_checkout.pl
Executable file
@ -0,0 +1,141 @@
|
||||
#!/usr/bin/perl
|
||||
############################################################################
|
||||
# phpGroupWare #
|
||||
# http:#www.phpgroupware.org #
|
||||
# The file written by Miles Lott <milosch@phpgroupware.org> #
|
||||
# -------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the #
|
||||
# Free Software Foundation; either version 2 of the License, or (at your #
|
||||
# option) any later version. #
|
||||
############################################################################
|
||||
|
||||
# $Id$
|
||||
|
||||
#**************************************************************************#
|
||||
# Config section #
|
||||
#**************************************************************************#
|
||||
# Temp paths that can be read and written to
|
||||
$tmp_dir = '/tmp';
|
||||
# Path of where you want the phpgroupware directory to go. NO trailing /
|
||||
$co_dir = '/var/www/html';
|
||||
# If you do not have developer access to cvs, change to True
|
||||
$cvs_anonymous = True;
|
||||
# Only needed if you have developers cvs access
|
||||
$cvs_login = '';
|
||||
$cvs_password = '';
|
||||
|
||||
# Modules you want to checkout, do NOT add the phpgroupware module
|
||||
@co_modules = (
|
||||
'addressbook',
|
||||
'admin',
|
||||
'bookkeeping',
|
||||
'bookmarks',
|
||||
'calendar',
|
||||
'cart',
|
||||
'ccs',
|
||||
'cdb',
|
||||
'chat',
|
||||
'chora',
|
||||
'comic',
|
||||
'cron',
|
||||
'dj',
|
||||
'eldaptir',
|
||||
'email',
|
||||
'filemanager',
|
||||
'forum',
|
||||
'ftp',
|
||||
'headlines',
|
||||
'hr',
|
||||
'infolog',
|
||||
'inv',
|
||||
'manual',
|
||||
'mediadb',
|
||||
'napster',
|
||||
'news_admin',
|
||||
'nntp',
|
||||
'notes',
|
||||
'phonelog',
|
||||
'phpGWShell_Win32_VB',
|
||||
'phpgwapi',
|
||||
'phpgwnetsaint',
|
||||
'phpwebhosting',
|
||||
'polls',
|
||||
'preferences',
|
||||
'projects',
|
||||
'rbs',
|
||||
'setup',
|
||||
'squirrelmail',
|
||||
'stocks',
|
||||
'syncml-server',
|
||||
'timetrack',
|
||||
'todo',
|
||||
'transy',
|
||||
'tts',
|
||||
'wap',
|
||||
'weather'
|
||||
);
|
||||
|
||||
# -- End config section
|
||||
|
||||
sub docvscommand
|
||||
{
|
||||
my $command = $_[0];
|
||||
my $anonymous_login = $_[1];
|
||||
|
||||
open(FP, ">$tmp_dir/createrelease.exp");
|
||||
$contents = "#!/usr/bin/expect -f\n";
|
||||
$contents = "send -- \"export CVS_RSH=ssh\"\n";
|
||||
$contents .= "set force_conservative 0\n";
|
||||
$contents .= "if {\$force_conservative} {\n";
|
||||
$contents .= " set send_slow {1 .1}\n";
|
||||
$contents .= " proc send {ignore arg} {\n";
|
||||
$contents .= " sleep .1\n";
|
||||
$contents .= " exp_send -s -- \$arg\n";
|
||||
$contents .= " }\n";
|
||||
$contents .= "}\n";
|
||||
$contents .= "set timeout -1\n";
|
||||
$contents .= "spawn $command\n";
|
||||
$contents .= "match_max 100000\n";
|
||||
|
||||
if (!$cvs_anonymous)
|
||||
{
|
||||
$contents .= "expect \":\"\n";
|
||||
$contents .= "send -- \"" . $cvs_password . "\\r\"\n";
|
||||
}
|
||||
elsif ($cvs_anonymous and $anonymous_login)
|
||||
{
|
||||
$contents .= "expect \"CVS password:\"\n";
|
||||
$contents .= "send -- \"\\r\"\n";
|
||||
}
|
||||
|
||||
$contents .= "expect eof\n";
|
||||
print FP $contents;
|
||||
close FP;
|
||||
system('/usr/bin/expect ' . $tmp_dir . '/createrelease.exp');
|
||||
unlink($tmp_dir . '/createrelease.exp');
|
||||
}
|
||||
|
||||
chdir($co_dir);
|
||||
if ($cvs_anonymous)
|
||||
{
|
||||
&docvscommand('cvs -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware login',True);
|
||||
&docvscommand('cvs -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware co phpgroupware',True);
|
||||
}
|
||||
else
|
||||
{
|
||||
&docvscommand('cvs -d' . $cvs_login . '@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware co phpgroupware');
|
||||
}
|
||||
|
||||
chdir($co_dir . '/phpgroupware');
|
||||
|
||||
if ($cvs_anonymous)
|
||||
{
|
||||
&docvscommand('cvs -z3 -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware co ' . join(' ',@co_modules));
|
||||
}
|
||||
else
|
||||
{
|
||||
&docvscommand('cvs -d' . $cvs_login . '@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware co ' . join(' ',@co_modules));
|
||||
}
|
||||
|
||||
&docvscommand('cvs update -dP');
|
Loading…
Reference in New Issue
Block a user