# HG changeset patch # User Chris Cannam # Date 1423664258 0 # Node ID 59e13100ea954af01cda56aab9bcbdf09b086751 # Parent a0460a3d154fb25c5cda666887ee27037749af89 Fix to user lookup diff -r a0460a3d154f -r 59e13100ea95 app/models/repository.rb --- a/app/models/repository.rb Wed Feb 11 13:13:03 2015 +0000 +++ b/app/models/repository.rb Wed Feb 11 14:17:38 2015 +0000 @@ -316,19 +316,21 @@ user = nil c = changesets.where(:committer => committer).includes(:user).first - logger.info "seeking user for committer #{committer}" if c && c.user user = c.user elsif committer.strip =~ /^([^<]+)(<(.*)>)?$/ username, email = $1.strip, $3 - logger.info "username = #{username}, email = #{email}" u = User.find_by_login(username) if u.nil? if email.blank? if username.strip =~ /^([^ ]+) ([^ ]+)$/ first, last = $1, $2 - logger.info "first = #{username}, last = #{email}" - u = User.where(:firstname => first, :lastname => last) + uu = User.where(:firstname => first, :lastname => last) + if uu.length == 1 + u = uu.first + else + logger.warn "find_committer_user: found more than one (#{uu.length}) results for user named #{username}, ignoring" + end end else u = User.find_by_mail(email)