Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'config/routes/repository_scoped.rb')
-rw-r--r--config/routes/repository_scoped.rb74
1 files changed, 74 insertions, 0 deletions
diff --git a/config/routes/repository_scoped.rb b/config/routes/repository_scoped.rb
index 7fabf3ff895..d2be18c62f9 100644
--- a/config/routes/repository_scoped.rb
+++ b/config/routes/repository_scoped.rb
@@ -6,6 +6,33 @@
# Don't use format parameter as file extension (old 3.0.x behavior)
# See http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments
scope format: false do
+ get '/compare/:from...:to', to: 'compare#show', as: 'compare', constraints: { from: /.+/, to: /.+/ }
+
+ resources :compare, only: [:index, :create] do
+ collection do
+ get :diff_for_path
+ get :signatures
+ end
+ end
+
+ resources :refs, only: [] do
+ collection do
+ get 'switch'
+ end
+
+ member do
+ # tree viewer logs
+ get 'logs_tree', constraints: { id: Gitlab::PathRegex.git_reference_regex }
+
+ # Directories with leading dots erroneously get rejected if git
+ # ref regex used in constraints. Regex verification now done in controller.
+ get 'logs_tree/*path', action: :logs_tree, as: :logs_file, format: false, constraints: {
+ id: /.*/,
+ path: /[^\0]*/
+ }
+ end
+ end
+
scope constraints: { id: Gitlab::PathRegex.git_reference_regex } do
resources :network, only: [:show]
@@ -38,4 +65,51 @@ scope format: false do
end
end
end
+
+ scope constraints: { id: /[^\0]+/ } do
+ scope controller: :blob do
+ get '/new/*id', action: :new, as: :new_blob
+ post '/create/*id', action: :create, as: :create_blob
+ get '/edit/*id', action: :edit, as: :edit_blob
+ put '/update/*id', action: :update, as: :update_blob
+ post '/preview/*id', action: :preview, as: :preview_blob
+
+ scope path: '/blob/*id', as: :blob do
+ get :diff
+ get '/', action: :show
+ delete '/', action: :destroy
+ post '/', action: :create
+ put '/', action: :update
+ end
+ end
+
+ get '/tree/*id', to: 'tree#show', as: :tree
+ get '/raw/*id', to: 'raw#show', as: :raw
+ get '/blame/*id', to: 'blame#show', as: :blame
+
+ get '/commits', to: 'commits#commits_root', as: :commits_root
+ get '/commits/*id/signatures', to: 'commits#signatures', as: :signatures
+ get '/commits/*id', to: 'commits#show', as: :commits
+
+ post '/create_dir/*id', to: 'tree#create_dir', as: :create_dir
+
+ scope controller: :find_file do
+ get '/find_file/*id', action: :show, as: :find_file
+ get '/files/*id', action: :list, as: :files
+ end
+ end
+end
+
+resources :commit, only: [:show], constraints: { id: /\h{7,40}/ } do
+ member do
+ get :branches
+ get :pipelines
+ post :revert
+ post :cherry_pick
+ get :diff_for_path
+ get :diff_files
+ get :merge_requests
+ end
end
+
+resource :repository, only: [:create]