diff --git a/lib/tasks/gitlab.rake b/lib/tasks/gitlab.rake index 729c9245f..bf43551c6 100644 --- a/lib/tasks/gitlab.rake +++ b/lib/tasks/gitlab.rake @@ -11,6 +11,22 @@ namespace :gitlab do end end + task :members => :environment do + projects = Project.where("gpid is not null") + s = Trustie::Gitlab::Sync.new + g = Gitlab.client + projects.each do |project| + begin + if project.members.count != g.team_members(project.gpid).count + puts project.id + s.only_members(project) + end + rescue => e + puts e + end + end + end + desc "update user password" task :password => :environment do s = Trustie::Gitlab::Sync.new diff --git a/lib/trustie/gitlab/sync.rb b/lib/trustie/gitlab/sync.rb index 2f4f77c53..3520098a9 100644 --- a/lib/trustie/gitlab/sync.rb +++ b/lib/trustie/gitlab/sync.rb @@ -122,7 +122,7 @@ module Trustie project.members.each do |m| begin gid = m.user.gid - unless gid + if gid.nil? gid = sync_user(m.user).id end self.g.add_team_member(project.gpid, gid, get_gitlab_role(m))