}
function createOrUpdateRepo ($params) {
- return true ; // Disabled for now
-
$group_id = $params['group_id'] ;
$project =& group_get_object($group_id);
}
$repo = $this->cvs_root . '/' . $project->getUnixName() ;
+ $locks_dir = $this->cvs_root . '/cvs-locks/' . $project->getUnixName() ;
$unix_group = 'scm_' . $project->getUnixName() ;
$repo_exists = false ;
}
if (!$repo_exists) {
- system ("cvs -d$repo init") ;
+ system ("cvs -d $repo init") ;
+ system ("mkdir -p $locks_dir") ;
}
- system ("chgrp -R $unix_group $repo") ;
+ system ("chgrp -R $unix_group $repo $locks_dir") ;
+ system ("chmod 3777 $locks_dir") ;
if ($project->enableAnonSCM()) {
system ("chmod -R g+wXs,o+rX-w $repo") ;
} else {
AND plugins.plugin_name=$2',
array('P',
'scmcvs'));
-
- for($i = 0; $i < db_numrows($res); $i++) {
- /*
- Simply call cvscreate.sh
- */
-
- $project = &group_get_object(db_result($res,$i,'group_id')); // get the group object for the current group
-
- if ( (!$project) || (!is_object($project)) ) {
- echo "Error Getting Group." . " Id : " . db_result($res,$i,'group_id') . " , Name : " . db_result($res,$i,'unix_group_name');
- break; // continue to the next project
- }
-
- $repositoryPath = $cvsdir_prefix."/".$project->getUnixName();
- if (is_dir($repositoryPath)) {
- $writersContent = '';
- $readersContent = '';
- $passwdContent = '';
- if($project->enableAnonSCM()) {
- $repositoryMode = 02775;
- if ($project->enablePserver()) {
- $readersContent = 'anonymous';
- $passwdContent = 'anonymous:8Z8wlZezt48mY';
- }
- } else {
- $repositoryMode = 02770;
- }
- chmod($repositoryPath, $repositoryMode);
- cvs_write_file($repositoryPath.'/CVSROOT/writers', $writersContent, 0);
- cvs_write_file($repositoryPath.'/CVSROOT/readers', $readersContent, 0);
- cvs_write_file($repositoryPath.'/CVSROOT/passwd', $passwdContent, 0);
- if ($project->usesPlugin('cvssyncmail')) {
- add_sync_mail($project->getUnixName());
- }
- if ($project->usesPlugin('cvstracker')) {
- add_cvstracker($project->getUnixName());
- }
- add_acl_check($project->getUnixName());
- } elseif (is_file($repositoryPath)) {
- $err .= $repositoryPath.' already exists as a file';
- } else {
- // Creates the repository
-
- // first, make sure the UNIX group exists
- $data = exec('getent group '.$project->getUnixName());
- if (empty($data)) {
- // group doesn't exist -- cronjob that creates users and groups hasn't run yet
- continue;
- }
-
- $enableAnonSCM = ($project->enableAnonSCM()) ? 1 : 0;
- $enablePserver = ($project->enablePserver()) ? 1 : 0;
- system(dirname(__FILE__).'/cvscreate.sh '.
- $project->getUnixName().
-// ' '.($project->getID()+50000).
- ' '.$project->getUnixName().
- ' '.$enableAnonSCM.
- ' '.$enablePserver);
- if ($project->usesPlugin('cvssyncmail')) {
- add_sync_mail($project->getUnixName());
- }
- if ($project->usesPlugin('cvstracker')) {
- add_cvstracker($project->getUnixName());
- }
- add_acl_check($project->getUnixName());
- }
- }
//
// Move CVS trees for deleted groups