Redesign routes that work with file paths
Created by: rspeicher
I'd like to redesign the routes that deal with filesystem paths (blobs, commits, tree, etc.) to be more uniform in their syntax and also to simplify them. I actually have about 90% of this done already, but I still have a few edge cases to figure out and more testing to do before I submit a PR. It can definitely be ready for 3.0.
Proposed routes:
# /:project_id/blame/*path
# /gitlabhq/blame/master/app/contexts/base_context.rb
# /gitlabhq/blame/test/branch/name/app/contexts/base_context.rb
#
# /:project_id/blob/*path
# /gitlabhq/blob/master/app/contexts/base_context.rb
# /gitlabhq/blob/test/branch/name/app/contexts/base_context.rb
#
# /:project_id/commit/:id
# /gitlabhq/commit/caef9ed1121a16ca0cc78715695daaa974271bfd
# /gitlabhq/commit/caef9ed1121a16ca0cc78715695daaa974271bfd.patch
#
# /:project_id/commits
#
# /:project_id/commits/*path
# /gitlabhq/commits/master/app/contexts/base_context.rb
# /gitlabhq/commits/test/branch/name/app/contexts/base_context.rb
#
# /:project_id/tree/*path
# /gitlabhq/tree/master/app
# /gitlabhq/tree/test/branch/name/app