From: Roland Mas Date: Fri, 23 Nov 2012 13:05:59 +0000 (+0100) Subject: Factor constants for management of extra SCM repositories X-Git-Tag: v5.3-rc1~1674 X-Git-Url: https://scm.fusionforge.org/anonscm/gitweb?p=fusionforge%2Ffusionforge.git;a=commitdiff_plain;h=b7d01ebdff022176d0ba63eda684577b103b74a6 Factor constants for management of extra SCM repositories --- diff --git a/src/common/include/constants.php b/src/common/include/constants.php index 277d3d1afc..b9606be26c 100644 --- a/src/common/include/constants.php +++ b/src/common/include/constants.php @@ -76,6 +76,10 @@ define('GROUP_IS_TEMPLATE', forge_get_config('template_group')); /* Admin */ define('ADMIN_CRONMAN_ROWS', 30); +/* SCM repositories */ +define('SCM_EXTRA_REPO_ACTION_UPDATE', 0); +define('SCM_EXTRA_REPO_ACTION_DELETE', 1); + // Local Variables: // mode: php // c-file-style: "bsd" diff --git a/src/plugins/scmgit/common/GitPlugin.class.php b/src/plugins/scmgit/common/GitPlugin.class.php index c5f49d3a32..95ce8a3d54 100644 --- a/src/plugins/scmgit/common/GitPlugin.class.php +++ b/src/plugins/scmgit/common/GitPlugin.class.php @@ -77,8 +77,9 @@ class GitPlugin extends SCMPlugin { function getInstructionsForAnon($project) { $repo_list = array($project->getUnixName()); - $result = db_query_params ('SELECT repo_name FROM scm_secondary_repos WHERE group_id=$1 AND next_action = 0 AND plugin_id=$2 ORDER BY repo_name', + $result = db_query_params ('SELECT repo_name FROM scm_secondary_repos WHERE group_id=$1 AND next_action = $2 AND plugin_id=$3 ORDER BY repo_name', array ($project->getID(), + SCM_EXTRA_REPO_ACTION_UPDATE, $this->getID())) ; $rows = db_numrows ($result) ; for ($i=0; $i<$rows; $i++) { @@ -135,8 +136,9 @@ class GitPlugin extends SCMPlugin { function getInstructionsForRW($project) { $repo_list = array($project->getUnixName()); - $result = db_query_params ('SELECT repo_name FROM scm_secondary_repos WHERE group_id=$1 AND next_action = 0 AND plugin_id=$2 ORDER BY repo_name', + $result = db_query_params ('SELECT repo_name FROM scm_secondary_repos WHERE group_id=$1 AND next_action = $2 AND plugin_id=$3 ORDER BY repo_name', array ($project->getID(), + SCM_EXTRA_REPO_ACTION_UPDATE, $this->getID())); $rows = db_numrows ($result) ; for ($i=0; $i<$rows; $i++) { @@ -411,8 +413,9 @@ class GitPlugin extends SCMPlugin { } // Create project-wide secondary repositories - $result = db_query_params ('SELECT repo_name, description, clone_url FROM scm_secondary_repos WHERE group_id=$1 AND next_action = 0 AND plugin_id=$2', + $result = db_query_params ('SELECT repo_name, description, clone_url FROM scm_secondary_repos WHERE group_id=$1 AND next_action = $2 AND plugin_id=$3', array ($project->getID(), + SCM_EXTRA_REPO_ACTION_UPDATE, $this->getID())); $rows = db_numrows ($result) ; for ($i=0; $i<$rows; $i++) { @@ -453,8 +456,9 @@ class GitPlugin extends SCMPlugin { } // Delete project-wide secondary repositories - $result = db_query_params ('SELECT repo_name FROM scm_secondary_repos WHERE group_id=$1 AND next_action = 1 AND plugin_id=$2', + $result = db_query_params ('SELECT repo_name FROM scm_secondary_repos WHERE group_id=$1 AND next_action = $2 AND plugin_id=$3', array ($project->getID(), + SCM_EXTRA_REPO_ACTION_DELETE, $this->getID())); $rows = db_numrows ($result) ; for ($i=0; $i<$rows; $i++) { @@ -463,9 +467,10 @@ class GitPlugin extends SCMPlugin { if (util_is_valid_repository_name($repo_name)) { system ("rm -rf $repodir"); } - db_query_params ('DELETE FROM scm_secondary_repos WHERE group_id=$1 AND repo_name=$2 AND next_action = 1 AND plugin_id=$3', + db_query_params ('DELETE FROM scm_secondary_repos WHERE group_id=$1 AND repo_name=$2 AND next_action = $3 AND plugin_id=$4', array ($project->getID(), $repo_name, + SCM_EXTRA_REPO_ACTION_DELETE, $this->getID())); } @@ -972,10 +977,11 @@ class GitPlugin extends SCMPlugin { return false; } - $result = db_query_params ('UPDATE scm_secondary_repos SET next_action = 1 WHERE group_id=$1 AND repo_name=$2 AND plugin_id=$3', - array ($params['group_id'], - $params['repo_name'], - $this->getID())); + $result = db_query_params ('UPDATE scm_secondary_repos SET next_action = $1 WHERE group_id=$2 AND repo_name=$3 AND plugin_id=$4', + array (SCM_EXTRA_REPO_ACTION_DELETE, + $params['group_id'], + $params['repo_name'], + $this->getID())); if (! $result) { $params['error_msg'] = db_error(); return false; @@ -1017,8 +1023,9 @@ class GitPlugin extends SCMPlugin { $project_name = $project->getUnixName(); $select_repo = '