summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-20 19:30:38 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-20 19:30:38 +0000
commit395f3a1d20eb250992629054ddaf1b22aaa899a1 (patch)
tree64190cd36bd933e4882cecd48dd1ea8a97cd8b0d /lib
parent4873034aa3ef847283a6ae1e89b185f820c6dd84 (diff)
parente9f1c39e7e258e58fa79a8646c3ad224119a0ae5 (diff)
downloadgitlab-ce-395f3a1d20eb250992629054ddaf1b22aaa899a1.tar.gz
Merge branch 'feature/internal_ids' of /home/git/repositories/gitlab/gitlabhq
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/markdown.rb2
-rw-r--r--lib/tasks/migrate/migrate_iids.rake33
2 files changed, 34 insertions, 1 deletions
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
diff --git a/lib/tasks/migrate/migrate_iids.rake b/lib/tasks/migrate/migrate_iids.rake
new file mode 100644
index 00000000000..aef2b319df9
--- /dev/null
+++ b/lib/tasks/migrate/migrate_iids.rake
@@ -0,0 +1,33 @@
+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.update_attribute(:iid, mr.iid)
+ 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.update_attribute(:iid, mr.iid)
+ print '.'
+ else
+ print 'F'
+ end
+ rescue => ex
+ print 'F'
+ end
+ end
+
+ puts 'done'
+end