This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "FusionForge".
The branch, 6.1 has been updated via ccd955bd418b4e019549d4e5f66b119861c0886f (commit) via 65e7382973a96f513ad3bfe9d628fc69ca516b6d (commit) via 655b8179903a3d38433212c27b5307d79185504b (commit) via e1e550f2d4963a69eecdd8ed215598f0e786a873 (commit) via 1b383a74d3552a9ac7ec98479b12fd341cf8e6ec (commit) via 04cbd9d79aa1a6a6231c0577926f2a3c2626753f (commit) via 7fc5c40e9493d882c7db498a0fb4bd508daa67a7 (commit) via dbbcf8255d6496d7ea05ae2f1e58a51eeea23da3 (commit) via d4b423b58bad2bd48ef4a33b3e5086aa69be678b (commit) from 13e481181bc4b4d29e54f004e8aa4c3ceb66c14a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=ccd955bd418b4e019549d4e5f66b119861c0886f commit ccd955bd418b4e019549d4e5f66b119861c0886f Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 18:09:02 2018 +0100 [#903] fixed diff --git a/src/CHANGES b/src/CHANGES index f252867..254aa21 100644 --- a/src/CHANGES +++ b/src/CHANGES @@ -1,5 +1,6 @@ FusionForge 6.1.1: * Widget User Page: fix owner test to ensure the user is the owner of the layout. +* fix [#903]: scmhook commitEmail for scmhg broken FusionForge 6.1: * Accounts: minimum password length is now 8 (Sylvain Beucler) https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=65e7382973a96f513ad3bfe9d628fc69ca516b6d commit 65e7382973a96f513ad3bfe9d628fc69ca516b6d Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 18:02:49 2018 +0100 partial fix [#903]: fix wrong var diff --git a/src/plugins/scmhook/library/scmhg/commitEmail.class.php b/src/plugins/scmhook/library/scmhg/commitEmail.class.php index 0f28393..473aaa1 100644 --- a/src/plugins/scmhook/library/scmhg/commitEmail.class.php +++ b/src/plugins/scmhook/library/scmhg/commitEmail.class.php @@ -76,7 +76,7 @@ class HgCommitEmail extends scmhook { $mail = $project_name.'-commits@'.forge_get_config('web_host'); $table = 'plugin_scmhook_scmhg_'.strtolower($this->classname); if (db_check_table_exists($table)) { - $res = db_query_params('SELECT * FROM '.$table.' WHERE group_id = $1 and repository_name = $2', array($group_id, $repository)); + $res = db_query_params('SELECT * FROM '.$table.' WHERE group_id = $1 and repository_name = $2', array($project->getID(), basename($scmdir_root))); $values = db_fetch_array($res); foreach ($this->getParams() as $pname => $pconf) { $mail = ($values[$pname] != null) ? $values[$pname] : $pconf['default']; @@ -148,7 +148,7 @@ class HgCommitEmail extends scmhook { $main_repo = $scmdir_root.'/.hg'; if (is_dir($main_repo)) { /*create new hgrc with default values*/ - $hgrc .= "[web]\n"; + $hgrc = "[web]\n"; $hgrc .= "baseurl = /hg"; $hgrc .= "\ndescription = ".$project_name; $hgrc .= "\nstyle = paper"; https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=655b8179903a3d38433212c27b5307d79185504b commit 655b8179903a3d38433212c27b5307d79185504b Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 17:57:47 2018 +0100 fix partial [#903]: fix wrong object diff --git a/src/plugins/scmhook/library/scmhg/commitEmail.class.php b/src/plugins/scmhook/library/scmhg/commitEmail.class.php index aae1720..0f28393 100644 --- a/src/plugins/scmhook/library/scmhg/commitEmail.class.php +++ b/src/plugins/scmhook/library/scmhg/commitEmail.class.php @@ -78,7 +78,7 @@ class HgCommitEmail extends scmhook { if (db_check_table_exists($table)) { $res = db_query_params('SELECT * FROM '.$table.' WHERE group_id = $1 and repository_name = $2', array($group_id, $repository)); $values = db_fetch_array($res); - foreach ($hookServePushPullBundle->getParams() as $pname => $pconf) { + foreach ($this->getParams() as $pname => $pconf) { $mail = ($values[$pname] != null) ? $values[$pname] : $pconf['default']; } } https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=e1e550f2d4963a69eecdd8ed215598f0e786a873 commit e1e550f2d4963a69eecdd8ed215598f0e786a873 Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 17:55:01 2018 +0100 fix partial [#903]: fix table name diff --git a/src/plugins/scmhook/library/scmhg/commitEmail.class.php b/src/plugins/scmhook/library/scmhg/commitEmail.class.php index 9d4dedf..aae1720 100644 --- a/src/plugins/scmhook/library/scmhg/commitEmail.class.php +++ b/src/plugins/scmhook/library/scmhg/commitEmail.class.php @@ -74,7 +74,7 @@ class HgCommitEmail extends scmhook { $main_repo = $scmdir_root.'/.hg'; if (is_dir($main_repo)) { $mail = $project_name.'-commits@'.forge_get_config('web_host'); - $table = 'plugin_scmhook_scmhg_'.strtolower($hookServePushPullBundle->getClassname()); + $table = 'plugin_scmhook_scmhg_'.strtolower($this->classname); if (db_check_table_exists($table)) { $res = db_query_params('SELECT * FROM '.$table.' WHERE group_id = $1 and repository_name = $2', array($group_id, $repository)); $values = db_fetch_array($res); https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=1b383a74d3552a9ac7ec98479b12fd341cf8e6ec commit 1b383a74d3552a9ac7ec98479b12fd341cf8e6ec Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 17:52:08 2018 +0100 fix partial [#903]: use correct mailing-list value diff --git a/src/plugins/scmhook/library/scmhg/commitEmail.class.php b/src/plugins/scmhook/library/scmhg/commitEmail.class.php index 7d60488..9d4dedf 100644 --- a/src/plugins/scmhook/library/scmhg/commitEmail.class.php +++ b/src/plugins/scmhook/library/scmhg/commitEmail.class.php @@ -74,6 +74,14 @@ class HgCommitEmail extends scmhook { $main_repo = $scmdir_root.'/.hg'; if (is_dir($main_repo)) { $mail = $project_name.'-commits@'.forge_get_config('web_host'); + $table = 'plugin_scmhook_scmhg_'.strtolower($hookServePushPullBundle->getClassname()); + if (db_check_table_exists($table)) { + $res = db_query_params('SELECT * FROM '.$table.' WHERE group_id = $1 and repository_name = $2', array($group_id, $repository)); + $values = db_fetch_array($res); + foreach ($hookServePushPullBundle->getParams() as $pname => $pconf) { + $mail = ($values[$pname] != null) ? $values[$pname] : $pconf['default']; + } + } $hgrc = ""; /*strip of repository path for subject line*/ @@ -86,10 +94,11 @@ class HgCommitEmail extends scmhook { $hgrc .= "\ndescription = ".$project_name; $hgrc .= "\nstyle = paper"; $hgrc .= "\nallow_read = *"; - $hgrc .= "\nallow_push = *\n\n"; + $hgrc .= "\nallow_push = *\n"; if (!forge_get_config('use_ssl', 'scmhg')) { $hgrc .= "push_ssl = 0\n"; } + $hgrc .= "\n"; $hgrc .= "[extensions]\n" ; $hgrc .= "hgext.notify =\n\n"; https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=04cbd9d79aa1a6a6231c0577926f2a3c2626753f commit 04cbd9d79aa1a6a6231c0577926f2a3c2626753f Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 17:43:01 2018 +0100 fix wrong html id diff --git a/src/plugins/scmhook/common/scmhookPlugin.class.php b/src/plugins/scmhook/common/scmhookPlugin.class.php index aa5b9cd..70fb83d 100644 --- a/src/plugins/scmhook/common/scmhookPlugin.class.php +++ b/src/plugins/scmhook/common/scmhookPlugin.class.php @@ -552,7 +552,7 @@ project independently."); $titleArr[] = $hookPostCommit->getDescription(); } - echo $HTML->listTableTop($tabletop, '', 'sortable_scmhook_scmgit', 'sortable', $classth, $titleArr); + echo $HTML->listTableTop($tabletop, '', 'sortable_scmhook_scmcvs', 'sortable', $classth, $titleArr); foreach($repositories as $repository) { $cells = array(); $cells[][] = $repository.html_e('input', array('type' => 'hidden', 'name' => 'repository['.$repository.'][]')); https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=7fc5c40e9493d882c7db498a0fb4bd508daa67a7 commit 7fc5c40e9493d882c7db498a0fb4bd508daa67a7 Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 25 17:41:55 2018 +0100 fix wrong html id diff --git a/src/plugins/scmhook/common/scmhookPlugin.class.php b/src/plugins/scmhook/common/scmhookPlugin.class.php index 878c67f..aa5b9cd 100644 --- a/src/plugins/scmhook/common/scmhookPlugin.class.php +++ b/src/plugins/scmhook/common/scmhookPlugin.class.php @@ -348,7 +348,7 @@ project independently."); } } - echo $HTML->listTableTop($tabletop, '', 'sortable_scmhook_scmgit', 'sortable', $classth, $titleArr); + echo $HTML->listTableTop($tabletop, '', 'sortable_scmhook_scmsvn', 'sortable', $classth, $titleArr); foreach($repositories as $repository) { $cells = array(); $cells[][] = $repository.html_e('input', array('type' => 'hidden', 'name' => 'repository['.$repository.'][]')); https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=dbbcf8255d6496d7ea05ae2f1e58a51eeea23da3 commit dbbcf8255d6496d7ea05ae2f1e58a51eeea23da3 Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 18 17:32:43 2018 +0100 partial fix [#903], less complex enable/disable commitEmail diff --git a/src/plugins/scmhook/library/scmhg/commitEmail.class.php b/src/plugins/scmhook/library/scmhg/commitEmail.class.php index 4090a62..7d60488 100644 --- a/src/plugins/scmhook/library/scmhg/commitEmail.class.php +++ b/src/plugins/scmhook/library/scmhg/commitEmail.class.php @@ -71,8 +71,8 @@ class HgCommitEmail extends scmhook { $unix_group = forge_get_config('apache_group'); $unix_user = forge_get_config('apache_user'); $sendmail = forge_get_config('sendmail_path'); - $main_repo = $scmdir_root . '/.hg'; - if (is_dir("$main_repo")) { + $main_repo = $scmdir_root.'/.hg'; + if (is_dir($main_repo)) { $mail = $project_name.'-commits@'.forge_get_config('web_host'); $hgrc = ""; @@ -80,82 +80,36 @@ class HgCommitEmail extends scmhook { $delim = "/"; $strip = count(explode($delim, $scmdir_root))-1; - if (is_file($main_repo.'/hgrc')) { - /*set the needed entries within hgrc*/ - - $hgrc_val = parse_ini_file("$main_repo/hgrc", true); - if (!isset( $hgrc_val['extensions'])) { - /*makes notify extension usable*/ - $hgrc_val['extensions']['hgext.notify'] = ''; - } - if (!isset( $hgrc_val['hooks'])) { - /*activates the notify hook*/ - $hgrc_val['hooks']['changegroup.notify'] = 'python:hgext.notify.hook'; - } - if (!isset( $hgrc_val['email'])) { - /*set email parameter*/ - $hgrc_val['email']['from'] = $mail; - $hgrc_val['email']['method'] = $sendmail; - } - if (!isset( $hgrc_val['notify'])) { - /*define when notify does something*/ - $hgrc_val['notify']['sources'] = 'serve push pull bundle'; - /*test = true will not deliver the mail, instead you will get command line output*/ - $hgrc_val['notify']['test'] = 'false'; - - /*configure subscribers*/ - if (!isset( $hgrc_val['reposubs'])) { - $hgrc_val['reposubs']['**'] = $mail; - } - $hgrc_val['notify']['template'] = '"\ndetails: {webroot}/rev/{node|short}\nchangeset: {rev}:{node|short}\nuser: {author}\ndate: - {date|date}\ndescription:\n{desc}\n"' ; - $hgrc_val['notify']['maxdiff'] = '300'; - $hgrc_val['notify']['strip'] = $strip; - } else { - /*parse_ini_file() has problems with boolean and special characters*/ - $hgrc_val['notify']['test'] = 'false'; - $hgrc_val['notify']['template'] = '"\ndetails: {webroot}/rev/{node|short}\nchangeset: {rev}:{node|short}\nuser: {author}\ndate: - {date|date}\ndescription:\n{desc}\n"'; - } - /* write configuration back to file*/ - foreach ($hgrc_val as $section => $sub) { - $hgrc .= '['.$section."]\n"; - foreach ($sub as $prop => $value) { - $hgrc .= "$prop = $value\n"; - if ($value == end($sub)) { - $hgrc .= "\n"; - } - } - } - } else { - /*create new hgrc with default values*/ - $hgrc .= "[web]\n"; - $hgrc .= "baseurl = /hg"; - $hgrc .= "\ndescription = ".$project_name; - $hgrc .= "\nstyle = paper"; - $hgrc .= "\nallow_read = *"; - $hgrc .= "\nallow_push = *\n\n"; - - $hgrc .= "[extensions]\n" ; - $hgrc .= "hgext.notify =\n\n"; - - $hgrc .= "[hooks]\n" ; - $hgrc .= "changegroup.notify = python:hgext.notify.hook\n\n"; - - $hgrc .= "[email]\n"; - $hgrc .= "from = $mail\n"; - $hgrc .= "method = $sendmail\n\n"; - - $hgrc .= "[notify]\n" ; - $hgrc .= "sources = serve push pull bundle\n"; - $hgrc .= "test = false\n"; - $hgrc .= 'template = "\ndetails: {webroot}/rev/{node|short}/\nchangeset: {rev}:{node|short}\nuser: {author}\ndate: - {date|date}\ndescription:\n{desc}\n"'; - $hgrc .= "\nmaxdiff = 300\n"; - $hgrc .= "strip = $strip\n\n"; - $hgrc .= "[reposubs]\n"; - $hgrc .= "** = $mail"; + /*create new hgrc with default values*/ + $hgrc .= "[web]\n"; + $hgrc .= "baseurl = /hg"; + $hgrc .= "\ndescription = ".$project_name; + $hgrc .= "\nstyle = paper"; + $hgrc .= "\nallow_read = *"; + $hgrc .= "\nallow_push = *\n\n"; + if (!forge_get_config('use_ssl', 'scmhg')) { + $hgrc .= "push_ssl = 0\n"; } + $hgrc .= "[extensions]\n" ; + $hgrc .= "hgext.notify =\n\n"; + + $hgrc .= "[hooks]\n" ; + $hgrc .= "changegroup.notify = python:hgext.notify.hook\n\n"; + + $hgrc .= "[email]\n"; + $hgrc .= "from = $mail\n"; + $hgrc .= "method = $sendmail\n\n"; + + $hgrc .= "[notify]\n" ; + $hgrc .= "sources = serve push pull bundle\n"; + $hgrc .= "test = false\n"; + $hgrc .= 'template = "\ndetails: {webroot}/rev/{node|short}/\nchangeset: {rev}:{node|short}\nuser: {author}\ndate: + {date|date}\ndescription:\n{desc}\n"'; + $hgrc .= "\nmaxdiff = 300\n"; + $hgrc .= "strip = $strip\n\n"; + $hgrc .= "[reposubs]\n"; + $hgrc .= "** = $mail"; + $f = fopen ("$main_repo/hgrc.new", 'w'); fwrite($f, $hgrc); fclose($f); @@ -182,33 +136,17 @@ class HgCommitEmail extends scmhook { $unix_user = forge_get_config('apache_user'); $project_name = $project->getUnixName(); - $main_repo = $scmdir_root . '/.hg'; - if (is_file($main_repo.'/hgrc')) { - /*unset extension and hook to unable notification emails*/ - $hgrc_val = parse_ini_file("$main_repo/hgrc", true); - if ( isset( $hgrc_val['extensions'] )) { - unset($hgrc_val['extensions']); - } - if ( isset( $hgrc_val['hooks'] )) { - unset($hgrc_val['hooks']); - } - if ( isset( $hgrc_val['notify']['test'] )) { - $hgrc_val['notify']['test'] = "false"; - } - if ( isset( $hgrc_val['notify']['template'] )) { - $hgrc_val['notify']['template'] = '"\ndetails: {webroot}/rev/{node|short}\nchangeset: {rev}:{node|short}\nuser: {author}\ndate: - {date|date}\ndescription:\n{desc}\n"' ; - } - - $hgrc = "" ; - foreach ($hgrc_val as $section => $sub) { - $hgrc .= '['.$section."]\n"; - foreach ($sub as $prop => $value) { - $hgrc .= "$prop = $value\n"; - if ($value == end($sub)) { - $hgrc .= "\n"; - } - } + $main_repo = $scmdir_root.'/.hg'; + if (is_dir($main_repo)) { + /*create new hgrc with default values*/ + $hgrc .= "[web]\n"; + $hgrc .= "baseurl = /hg"; + $hgrc .= "\ndescription = ".$project_name; + $hgrc .= "\nstyle = paper"; + $hgrc .= "\nallow_read = *"; + $hgrc .= "\nallow_push = *\n\n"; + if (!forge_get_config('use_ssl', 'scmhg')) { + $hgrc .= "push_ssl = 0\n"; } $f = fopen ("$main_repo/hgrc.new", 'w'); https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=d4b423b58bad2bd48ef4a33b3e5086aa69be678b commit d4b423b58bad2bd48ef4a33b3e5086aa69be678b Author: Franck Villaume <franck.villa...@trivialdev.com> Date: Sun Nov 18 17:08:48 2018 +0100 partial fix [#903], detect correctly scm root diff --git a/src/plugins/scmhook/library/scmhg/commitEmail.class.php b/src/plugins/scmhook/library/scmhg/commitEmail.class.php index 47d5b25..4090a62 100644 --- a/src/plugins/scmhook/library/scmhg/commitEmail.class.php +++ b/src/plugins/scmhook/library/scmhg/commitEmail.class.php @@ -62,24 +62,23 @@ class HgCommitEmail extends scmhook { * This function activates e-mail notification for pushed commits. * This is done by adding the needed entries to the projects hgrc file. */ - function enable($project) { + function enable($project, $scmdir_root) { if (!$project) { return false; } $project_name = $project->getUnixName(); - $root = forge_get_config('repos_path', 'scmhg') . '/' . $project_name; $unix_group = forge_get_config('apache_group'); $unix_user = forge_get_config('apache_user'); $sendmail = forge_get_config('sendmail_path'); - $main_repo = $root . '/.hg'; + $main_repo = $scmdir_root . '/.hg'; if (is_dir("$main_repo")) { $mail = $project_name.'-commits@'.forge_get_config('web_host'); $hgrc = ""; /*strip of repository path for subject line*/ $delim = "/"; - $strip = count(explode($delim, $root))-1; + $strip = count(explode($delim, $scmdir_root))-1; if (is_file($main_repo.'/hgrc')) { /*set the needed entries within hgrc*/ @@ -161,8 +160,8 @@ class HgCommitEmail extends scmhook { fwrite($f, $hgrc); fclose($f); rename($main_repo.'/hgrc.new', $main_repo.'/hgrc'); - system("chown $unix_user:$unix_group $main_repo/hgrc" ); - system("chmod 660 $main_repo/hgrc" ); + system("chown $unix_user:$unix_group $main_repo/hgrc"); + system("chmod 660 $main_repo/hgrc"); } return true; } @@ -174,7 +173,7 @@ class HgCommitEmail extends scmhook { * @param $project object containing project data * @return bool */ - function disable($project) { + function disable($project, $scmdir_root) { if (!$project) { return false; } @@ -183,8 +182,7 @@ class HgCommitEmail extends scmhook { $unix_user = forge_get_config('apache_user'); $project_name = $project->getUnixName(); - $root = forge_get_config('repos_path', 'scmhg') . '/' . $project_name; - $main_repo = $root . '/.hg'; + $main_repo = $scmdir_root . '/.hg'; if (is_file($main_repo.'/hgrc')) { /*unset extension and hook to unable notification emails*/ $hgrc_val = parse_ini_file("$main_repo/hgrc", true); @@ -217,8 +215,8 @@ class HgCommitEmail extends scmhook { fwrite($f, $hgrc); fclose($f); rename($main_repo.'/hgrc.new', $main_repo.'/hgrc'); - system("chown $unix_user:$unix_group $main_repo/hgrc" ); - system("chmod 660 $main_repo/hgrc" ); + system("chown $unix_user:$unix_group $main_repo/hgrc"); + system("chmod 660 $main_repo/hgrc"); } return true; } diff --git a/src/plugins/scmhook/library/scmhg/cronjobs/updateScmRepo.php b/src/plugins/scmhook/library/scmhg/cronjobs/updateScmRepo.php index df57807..9670b26 100644 --- a/src/plugins/scmhook/library/scmhg/cronjobs/updateScmRepo.php +++ b/src/plugins/scmhook/library/scmhg/cronjobs/updateScmRepo.php @@ -57,7 +57,7 @@ class ScmHgUpdateScmRepo { } //first we disable all hooks foreach($hooksServePushPullBundle as $hookServePushPullBundle) { - $hookServePushPullBundle->disable($group); + $hookServePushPullBundle->disable($group, $scmdir_root); } //now we enable new available hooks $newHooks = explode('|', $hooksString); @@ -73,7 +73,7 @@ class ScmHgUpdateScmRepo { } if (isset($newHooksServePushPullBundle) && count($newHooksServePushPullBundle)) { foreach($newHooksServePushPullBundle as $newHookServePushPullBundle) { - $newHookServePushPullBundle->enable($group); + $newHookServePushPullBundle->enable($group, $scmdir_root); } } return true; ----------------------------------------------------------------------- Summary of changes: src/CHANGES | 1 + src/plugins/scmhook/common/scmhookPlugin.class.php | 4 +- .../scmhook/library/scmhg/commitEmail.class.php | 169 +++++++-------------- .../library/scmhg/cronjobs/updateScmRepo.php | 4 +- 4 files changed, 62 insertions(+), 116 deletions(-) hooks/post-receive -- FusionForge _______________________________________________ Fusionforge-commits mailing list Fusionforge-commits@lists.fusionforge.org http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits