Merge branch '15640-cwl-test-mem' refs #15640
[arvados.git] / services / api / script / migrate-gitolite-to-uuid-storage.rb
index 2b96a7dfad00cf98177ecf9272d32452317e19c6..91acf3e256c96ced3262f946e36c37868507b1b2 100755 (executable)
@@ -1,4 +1,8 @@
 #!/usr/bin/env ruby
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 #
 # Prior to April 2015, Arvados Gitolite integration stored repositories by
 # name.  To improve user repository management, we switched to storing
@@ -35,7 +39,7 @@ DEBUG = 1
 # load and merge in the environment-specific application config info
 # if present, overriding base config parameters as specified
 path = File.dirname(__FILE__) + '/config/arvados-clients.yml'
-if File.exists?(path) then
+if File.exist?(path) then
   cp_config = YAML.load_file(path)[ENV['RAILS_ENV']]
 else
   puts "Please create a\n " + File.dirname(__FILE__) + "/config/arvados-clients.yml\n file"
@@ -137,6 +141,9 @@ class Repository
                     File.join(repos_root, "#{uuid}.git"))
       rescue Errno::ENOENT
       end
+      if name == "arvados"
+        Dir.chdir(repos_root) { File.symlink("#{uuid}.git/", "arvados.git") }
+      end
     end
   end
 
@@ -183,7 +190,7 @@ end
 
 begin
   # Get our local gitolite-admin repo up to snuff
-  if not File.exists?(gitolite_admin) then
+  if not File.exist?(gitolite_admin) then
     ensure_directory(gitolite_tmpdir, 0700)
     Dir.chdir(gitolite_tmpdir)
     `git clone #{gitolite_url}`