$repo_exists = true ;
}
+ if (forge_get_config('use_shell')) {
+ $unix_group = 'scm_' . $project->getUnixName() ;
+ } else {
+ $unix_group = forge_get_config ('apache_user') ;
+ }
+
if (!$repo_exists) {
- system ("cvs -d $repo init") ;
+ if (!@mkdir($repo, 0700)) {
+ return false;
+ }
+ $ret = 0;
+ system ("cvs -d $repo init", $ret) ;
+ if ($ret != 0) {
+ return false;
+ }
system ("mkdir -p $locks_dir") ;
+ system ("chgrp $unix_group $locks_dir") ;
+ system ("chmod 3777 $locks_dir") ;
+
+ if (forge_get_config('use_shell')) {
+ util_create_file_with_contents ("$repo/CVSROOT/config", "SystemAuth=no\nLockDir=$locks_dir\nUseNewInfoFmtStrings=yes\n");
+ if ($project->enableAnonSCM()) {
+ util_create_file_with_contents ("$repo/CVSROOT/readers", "anonymous\n");
+ util_create_file_with_contents ("$repo/CVSROOT/passwd", "anonymous:\n");
+ system ("chmod -R g+wXs,o+rX-w $repo") ;
+ } else {
+ util_create_file_with_contents ("$repo/CVSROOT/readers", "\n");
+ util_create_file_with_contents ("$repo/CVSROOT/passwd", "\n");
+ system ("chmod -R g+wXs,o-rwx $repo") ;
+ }
+ system ("chgrp -R $unix_group $repo") ;
+ } else {
+ $unix_user = forge_get_config ('apache_user') ;
+ system ("chmod -R g-rwx,o-rwx $repo") ;
+ system ("chown -R $unix_user:$unix_group $repo") ;
+ }
}
if (forge_get_config('use_shell')) {
- $unix_group = 'scm_' . $project->getUnixName() ;
-
- 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") ;
- system ("echo \"SystemAuth=no\" > $repo/CVSROOT/config");
- system ("echo \"LockDir=$locks_dir\" >> $repo/CVSROOT/config");
- system ("echo \"anonymous\" > $repo/CVSROOT/readers");
- system ("echo \"anonymous:\" > $repo/CVSROOT/passwd");
+ util_create_file_with_contents ("$repo/CVSROOT/readers", "anonymous\n");
+ util_create_file_with_contents ("$repo/CVSROOT/passwd", "anonymous:\n");
+ system ("chmod g+wXs,o+rX-w $repo") ;
} else {
- system ("chmod -R g+wXs,o-rwx $repo") ;
- system ("echo \"SystemAuth=no\" > $repo/CVSROOT/config");
- system ("echo \"LockDir=$locks_dir\" >> $repo/CVSROOT/config");
- system ("echo \"\" > $repo/CVSROOT/readers");
- system ("echo \"\" > $repo/CVSROOT/passwd");
+ util_create_file_with_contents ("$repo/CVSROOT/readers", "\n");
+ util_create_file_with_contents ("$repo/CVSROOT/passwd", "\n");
+ system ("chmod g+wXs,o-rwx $repo") ;
}
- } else {
- $unix_user = forge_get_config ('apache_user') ;
- $unix_group = forge_get_config ('apache_user') ;
- system ("chown -R $unix_user:$unix_group $repo") ;
- system ("chmod -R g-rwx,o-rwx $repo") ;
}
}
return false ;
}
- $hist_file =& fopen( $hist_file_path, 'r' );
+ $hist_file = fopen( $hist_file_path, 'r' );
if ( ! $hist_file ) {
echo "Unreadable history\n" ;
db_rollback () ;
} else {
continue;
}
+
if (!db_query_params ('INSERT INTO stats_cvs_user (month,day,group_id,user_id,commits,adds) VALUES ($1,$2,$3,$4,$5,$6)',
array ($month_string,
$day,
$project->getID(),
$user_id,
- $usr_commit[$user] ? $usr_commit[$user] : 0,
- $usr_add[$user] ? $usr_add[$user] : 0))) {
+ isset ($usr_commit[$user]) ? $usr_commit[$user] : 0,
+ isset ($usr_add[$user]) ? $usr_add[$user] : 0))) {
echo "Error while inserting into stats_cvs_user\n" ;
db_rollback () ;
return false ;