From 2e5481b74663deddeda66ccd74eb7e38649cccb7 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 19 Aug 2013 22:11:18 +0300 Subject: Create task to create iid for existing issues/mr --- lib/tasks/migrate/migrate_iids.rake | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/tasks/migrate/migrate_iids.rake (limited to 'lib') diff --git a/lib/tasks/migrate/migrate_iids.rake b/lib/tasks/migrate/migrate_iids.rake new file mode 100644 index 00000000000..4d2d49dd6d8 --- /dev/null +++ b/lib/tasks/migrate/migrate_iids.rake @@ -0,0 +1,31 @@ +desc "GITLAB | Build internal ids for issues and merge requests" +task migrate_iids: :environment do + puts 'Issues'.yellow + Issue.where(iid: nil).find_each(batch_size: 100) do |issue| + begin + issue.set_iid + if issue.save + print '.' + else + print 'F' + end + rescue + print 'F' + end + end + + puts 'done' + puts 'Merge Requests'.yellow + MergeRequest.where(iid: nil).find_each(batch_size: 100) do |mr| + begin + mr.set_iid + if mr.save + print '.' + else + print 'F' + end + rescue => ex + print 'F' + end + end +end -- cgit v1.2.1 From 434c034159f584348b56a322dbcda8dc65b812f2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 19 Aug 2013 22:53:11 +0300 Subject: Iid improvemets * call set_iid before validation * make rake task pass event if objects are invalid * show iid in comment event at dashboard --- lib/tasks/migrate/migrate_iids.rake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/tasks/migrate/migrate_iids.rake b/lib/tasks/migrate/migrate_iids.rake index 4d2d49dd6d8..aef2b319df9 100644 --- a/lib/tasks/migrate/migrate_iids.rake +++ b/lib/tasks/migrate/migrate_iids.rake @@ -4,7 +4,7 @@ task migrate_iids: :environment do Issue.where(iid: nil).find_each(batch_size: 100) do |issue| begin issue.set_iid - if issue.save + if issue.update_attribute(:iid, mr.iid) print '.' else print 'F' @@ -19,7 +19,7 @@ task migrate_iids: :environment do MergeRequest.where(iid: nil).find_each(batch_size: 100) do |mr| begin mr.set_iid - if mr.save + if mr.update_attribute(:iid, mr.iid) print '.' else print 'F' @@ -28,4 +28,6 @@ task migrate_iids: :environment do print 'F' end end + + puts 'done' end -- cgit v1.2.1 From 9acaec7a26d7cb140e4d0215c9f3cef4e42c5087 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 20 Aug 2013 17:31:26 +0300 Subject: Searching for issue/mr by iid in markdown --- lib/gitlab/markdown.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/gitlab/markdown.rb b/lib/gitlab/markdown.rb index 95bb22cfc27..61c622a448a 100644 --- a/lib/gitlab/markdown.rb +++ b/lib/gitlab/markdown.rb @@ -181,7 +181,7 @@ module Gitlab end def reference_merge_request(identifier) - if merge_request = @project.merge_requests.where(id: identifier).first + if merge_request = @project.merge_requests.where(iid: identifier).first link_to("!#{identifier}", project_merge_request_url(@project, merge_request), html_options.merge(title: "Merge Request: #{merge_request.title}", class: "gfm gfm-merge_request #{html_options[:class]}")) end end -- cgit v1.2.1