diff --git a/rhodecode_chiliproject.sh b/rhodecode_chiliproject.sh index cde7ecf..f914a24 100755 --- a/rhodecode_chiliproject.sh +++ b/rhodecode_chiliproject.sh @@ -31,7 +31,7 @@ repos_to_remove=${repos_to_remove#,} # === GET DATA FROM RHODECODE SQLITE BASE === rh_repos_path=`sqlite3 $RHODECODE_SQLITE_PATH "select ui_value FROM rhodecode_ui where ui_section='paths'"` -SQLITE_RESULTS=`sqlite3 $RHODECODE_SQLITE_PATH "SELECT repo_name,repo_type,users.username,users_groups.users_group_name +SQLITE_RESULTS=`sqlite3 $RHODECODE_SQLITE_PATH "SELECT repo_name,repo_type,users.username,users.email,users_groups.users_group_name FROM repositories,users,users_groups,users_groups_members WHERE repositories.user_id=users.user_id AND users.user_id=users_groups_members.user_id @@ -42,19 +42,21 @@ repos_names= repos_paths= repos_types= repos_users= +repos_mails= repos_groups= let nrepos=0 for r in $SQLITE_RESULTS; do - repos_paths[$nrepos]=$rh_repos_path/${r%|*|*|*} + repos_paths[$nrepos]=$rh_repos_path/${r%|*|*|*|*} tmp=${repos_paths[$nrepos]%/}; repos_names[$nrepos]=${tmp##*/} - tmp=${r%|*|*}; repos_types[$nrepos]=${tmp#*|} + tmp=${r%|*|*|*}; repos_types[$nrepos]=${tmp#*|} case ${repos_types[$nrepos]} in hg) repos_types[$nrepos]='Mercurial';; git) repos_types[$nrepos]='Git';; esac - tmp=${r%|*}; repos_users[$nrepos]=${tmp#*|*|} - repos_groups[$nrepos]=${r#*|*|*|} + tmp=${r%|*|*}; repos_users[$nrepos]=${tmp#*|*|} + tmp=${r%|*}; repos_mails[$nrepos]=${tmp#*|*|*|} + repos_groups[$nrepos]=${r#*|*|*|*|} let nrepos++ done @@ -73,6 +75,7 @@ for i in `seq 0 $((nrepos-1))`; do WHERE users.id=groups_users.user_id AND users.status='1' AND users.login='${repos_users[$i]}' + AND users.mail='${repos_mails[$i]}' AND users.type='User' AND groups_users.group_id=(SELECT id FROM $CHILI_MYSQL_DBNAME.users