From e9cfe007bbe4bcc1f160a6c0377a11bf8f94ddb9 Mon Sep 17 00:00:00 2001 From: houxiang Date: Thu, 10 Dec 2015 15:59:31 +0800 Subject: [PATCH 1/3] modify by hx --- Gemfile | 2 +- app/controllers/repositories_controller.rb | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 0125e9d60..deecb67e3 100644 --- a/Gemfile +++ b/Gemfile @@ -44,7 +44,7 @@ group :development do gem 'grape-swagger' gem 'better_errors', '~> 1.1.0' gem 'rack-mini-profiler', '~> 0.9.3' - gem 'win32console' + #gem 'win32console' end group :development, :test do diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index dd3f4ede9..db303af53 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -346,10 +346,6 @@ update # end # end - - - - @changesets = g.commits(@project.gpid) # @changesets = @repository.latest_changesets(@path, @rev) # @changesets_count = @repository.latest_changesets(@path, @rev).count @@ -406,7 +402,7 @@ update count = count_commits(@project.gpid , 25 , 50)+ 25 * 20 elsif g.commits(@project.gpid , :page=>75).count ==0 count = count_commits(@project.gpid , 50 , 75)+ 50 * 20 - elsif g.commits(@project.gpid , :page=>100).count== 0 + elsif g.commits(@project.gpid , :page=>100).count==0 count = count_commits(@project.gpid , 75 , 100) + 75 * 20 elsif g.commits(@project.gpid , :page=>125).count==0 count = count_commits(@project.gpid , 100 , 125) + 100 * 20 From 032428264107c4a17c33228d0237a34b1cc7be9f Mon Sep 17 00:00:00 2001 From: houxiang Date: Wed, 16 Dec 2015 14:30:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E5=90=84=E4=B8=AA=E6=88=90=E5=91=98?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=8F=90=E4=BA=A4=E8=B4=A1=E7=8C=AE=E6=AC=A1?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/gitlab/client/repositories.rb | 7 +++++ lib/tasks/project_commits_query.rake | 30 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 lib/tasks/project_commits_query.rake diff --git a/lib/gitlab-cli/lib/gitlab/client/repositories.rb b/lib/gitlab-cli/lib/gitlab/client/repositories.rb index f489e5009..e56a740db 100644 --- a/lib/gitlab-cli/lib/gitlab/client/repositories.rb +++ b/lib/gitlab-cli/lib/gitlab/client/repositories.rb @@ -85,5 +85,12 @@ class Gitlab::Client get("/projects/#{project}/repository/commits/#{sha}/diff") end alias_method :repo_commit_diff, :commit_diff + + #Get the commits count of each contributor in a project + #@param [Integer] project the ID fo a project. + # @return [Gitlab::ObjectifiedHash] + def contributors(project) + get("/projects/#{project}/repository/contributors") + end end end diff --git a/lib/tasks/project_commits_query.rake b/lib/tasks/project_commits_query.rake new file mode 100644 index 000000000..df33419f3 --- /dev/null +++ b/lib/tasks/project_commits_query.rake @@ -0,0 +1,30 @@ +#coding=utf-8 + +namespace :gitlab do + desc "sync gitlab's users which lost in last sync" + task :query => :environment do + g = Gitlab.client + projects = Project.all + users_email = User.find_by_sql("select mail from users where mail != '' ") + projects.each do|project| + gpid = project.gpid + begin + contributors_list = g.contributors(gpid) + rescue + next + end + puts "project_id #{project.id}" + contributors_list.each do|contributor| + if users_email.include?(contributor.email) + contributors_list.delete(contributor) + end + end + + contributors_list.each do|contributor| + puts "name #{contributor.name}" + puts "email #{contributor.email}" + puts "commits_count #{contributor.commits}" + end + end + end +end \ No newline at end of file From 5f2e6284cefa463859ef405ddbe88009de61361d Mon Sep 17 00:00:00 2001 From: houxiang Date: Fri, 18 Dec 2015 09:21:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=B8=A4?= =?UTF-8?q?=E4=B8=AAtemplate=E6=96=87=E4=BB=B6=EF=BC=8C=E5=A4=A7=E5=AE=B6?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E4=BB=A3=E7=A0=81=E5=90=8E=E5=B0=86template?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=8D=E5=88=B6=E5=8E=BB=E6=8E=89=E5=90=8E?= =?UTF-8?q?=E5=B0=BE=E7=9A=84template=E5=B0=B1=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/configuration.yml.template | 235 ++++++++++++++++++ config/initializers/gitlab_config.rb.template | 9 + 2 files changed, 244 insertions(+) create mode 100644 config/configuration.yml.template create mode 100644 config/initializers/gitlab_config.rb.template diff --git a/config/configuration.yml.template b/config/configuration.yml.template new file mode 100644 index 000000000..3790045aa --- /dev/null +++ b/config/configuration.yml.template @@ -0,0 +1,235 @@ +# = Redmine configuration file +# +# Each environment has it's own configuration options. If you are only +# running in production, only the production block needs to be configured. +# Environment specific configuration options override the default ones. +# +# Note that this file needs to be a valid YAML file. +# DO NOT USE TABS! Use 2 spaces instead of tabs for identation. +# +# == Outgoing email settings (email_delivery setting) +# +# === Common configurations +# +# ==== Sendmail command +# +# production: +# email_delivery: +# delivery_method: :sendmail +# +# ==== Simple SMTP server at localhost +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# address: smtp.163.com +# port: 25 +# +# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# address: smtp.gmail.com +# port: 587 +# authentication: :login +# domain: 'foo.com' +# user_name: senluowanxiangt@gmail.com +# password: 1913TXBja +# +# ==== SMTP server at example.com using PLAIN authentication +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# address: smtp.gmail.com +# port: 587 +# authentication: :plain +# domain: 'example.com' +# user_name: senluowanxiangt@gmail.com +# password: 1913TXBja +# +# ==== SMTP server at using TLS (GMail) +# +# This might require some additional configuration. See the guides at: +# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# enable_starttls_auto: true +# address: smtp.gmail.com +# port: 587 +# domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps +# authentication: :plain +# user_name: senluowanxiangt@gmail.com +# password: 1913TXBja +# +# +# === More configuration options +# +# See the "Configuration options" at the following website for a list of the +# full options allowed: +# +# http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer + + + +default: + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" + + # Absolute path to the directory where attachments are stored. + # The default is the 'files' directory in your Redmine instance. + # Your Redmine instance needs to have write permission on this + # directory. + # Examples: + # attachments_storage_path: /var/redmine/files + # attachments_storage_path: D:/redmine/files + attachments_storage_path: + + # Configuration of the autologin cookie. + # autologin_cookie_name: the name of the cookie (default: autologin) + # autologin_cookie_path: the cookie path (default: /) + # autologin_cookie_secure: true sets the cookie secure flag (default: false) + autologin_cookie_name: "autologin_trustie" + autologin_cookie_path: + autologin_cookie_secure: + + # Configuration of SCM executable command. + # + # Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe) + # On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work. + # + # On Windows + JRuby 1.6.2, path which contains spaces does not work. + # For example, "C:\Program Files\TortoiseHg\hg.exe". + # If you want to this feature, you need to install to the path which does not contains spaces. + # For example, "C:\TortoiseHg\hg.exe". + # + # Examples: + # scm_subversion_command: svn # (default: svn) + # scm_mercurial_command: C:\Program Files\TortoiseHg\hg.exe # (default: hg) + # scm_git_command: /usr/local/bin/git # (default: git) + # scm_cvs_command: cvs # (default: cvs) + # scm_bazaar_command: bzr.exe # (default: bzr) + # scm_darcs_command: darcs-1.0.9-i386-linux # (default: darcs) + # + scm_subversion_command: + scm_mercurial_command: + scm_git_command: + scm_cvs_command: + scm_bazaar_command: + scm_darcs_command: + + # Absolute path to the SCM commands errors (stderr) log file. + # The default is to log in the 'log' directory of your Redmine instance. + # Example: + # scm_stderr_log_file: /var/log/redmine_scm_stderr.log + scm_stderr_log_file: + + # Key used to encrypt sensitive data in the database (SCM and LDAP passwords). + # If you don't want to enable data encryption, just leave it blank. + # WARNING: losing/changing this key will make encrypted data unreadable. + # + # If you want to encrypt existing passwords in your database: + # * set the cipher key here in your configuration file + # * encrypt data using 'rake db:encrypt RAILS_ENV=production' + # + # If you have encrypted data and want to change this key, you have to: + # * decrypt data using 'rake db:decrypt RAILS_ENV=production' first + # * change the cipher key here in your configuration file + # * encrypt data using 'rake db:encrypt RAILS_ENV=production' + database_cipher_key: + + # Set this to false to disable plugins' assets mirroring on startup. + # You can use `rake redmine:plugins:assets` to manually mirror assets + # to public/plugin_assets when you install/upgrade a Redmine plugin. + # + #mirror_plugins_assets_on_startup: false + + # Your secret key for verifying cookie session data integrity. If you + # change this key, all old sessions will become invalid! Make sure the + # secret is at least 30 characters and all random, no regular words or + # you'll be exposed to dictionary attacks. + # + # If you have a load-balancing Redmine cluster, you have to use the + # same secret token on each machine. + #secret_token: 'change it to a long random string' + + # Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to + # the ImageMagick's `convert` binary. Used to generate attachment thumbnails. + imagemagick_convert_command: '/home/pdl/redmine-2.3.2-0/common/bin/convert' + + # Configuration of RMagcik font. + # + # Redmine uses RMagcik in order to export gantt png. + # You don't need this setting if you don't install RMagcik. + # + # In CJK (Chinese, Japanese and Korean), + # in order to show CJK characters correctly, + # you need to set this configuration. + # + # Because there is no standard font across platforms in CJK, + # you need to set a font installed in your server. + # + # This setting is not necessary in non CJK. + # + # Examples for Japanese: + # Windows: + # rmagick_font_path: C:\windows\fonts\msgothic.ttc + # Linux: + # rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf + # + rmagick_font_path: + + # Maximum number of simultaneous AJAX uploads + #max_concurrent_ajax_uploads: 2 + #pic_types: "bmp,jpeg,jpg,png,gif" + + repository_root_path: '/tmp/htdocs' + judge_server: 'http://judge.trustie.net/' + + # Git's url + gitlab_address: 'http://gitfast.trustie.net' + +# specific configuration options for production environment +# that overrides the default ones +production: + # CJK support + rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf + judge_server: 'http://192.168.80.21:8080/' + repository_root_path: '/home/pdl/redmine-2.3.2-0/apache2/htdocs' + cookie_domain: ".trustie.net" + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" + +# specific configuration options for development environment +# that overrides the default ones +development: + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" diff --git a/config/initializers/gitlab_config.rb.template b/config/initializers/gitlab_config.rb.template new file mode 100644 index 000000000..c82b2edff --- /dev/null +++ b/config/initializers/gitlab_config.rb.template @@ -0,0 +1,9 @@ +Gitlab.configure do |config| + # config.endpoint = 'http://192.168.41.130:3000/trustie/api/v3' # API endpoint URL, default: ENV['GITLAB_API_ENDPOINT'] + # config.private_token = 'cK15gUDwvt8EEkzwQ_63' # user's private token, default: ENV['GITLAB_API_PRIVATE_TOKEN'] + config.endpoint = 'http://gitfast.trustie.net/api/v3' # API endpoint URL, default: ENV['GITLAB_API_ENDPOINT'] + config.private_token = 'fPc_gBmEiSANve8TCfxW' # user's private token, default: ENV['GITLAB_API_PRIVATE_TOKEN'] + # Optional + # config.user_agent = 'Custom User Agent' # user agent, default: 'Gitlab Ruby Gem [version]' + # config.sudo = 'user' # username for sudo mode, default: nil +end