This assignment is only used by the Projects::NetworkController, so
we're needlessly assigning this very generically-named instance variable
on every controller which includes `ExtractsPath`, which is quite a few.
Further, the way we were passing this hash to
`HashWithIndifferentAccess` caused the following deprecation warning
after upgrading to Rails 5:
DEPRECATION WARNING: #to_hash unexpectedly ignores parameter
filtering, and will change to enforce it in Rails 5.1. Enable
`raise_on_unfiltered_parameters` to respect parameter filtering,
which is the default in new applications. For the existing
deprecated behaviour, call #to_unsafe_h instead. (called from new at
lib/extracts_path.rb:116)
Attempting to view an annotated tag in the TreeController would result
in `NoMethodError: undefined method 'tree'` when Rugged was in use.
`Blob#find_by_rugged` assumes that the ref is a true. Using
the commit ID ensures that the right ref is being used.
Note that in 11.1, `Blob#find` no longer uses Rugged, so this is only
a bug in 11.0.
Closesgitlab-org/gitlab-ce#47797
* upstream/master: (671 commits)
Make rubocop happy
Use guard clause
Improve language
Prettify
Use temp branch
Pass info about who started the job and which job triggered it
Docs: add indexes for monitoring and performance monitoring
clearer-documentation-on-inline-diffs
Add docs for commit diff discussion in merge requests
sorting for tags api
Clear BatchLoader after each spec to prevent holding onto records longer than necessary
Include project in BatchLoader key to prevent returning blobs for the wrong project
moved lfs_blob_ids method into ExtractsPath module
Converted JS modules into exported modules
spec fixes
Bump gitlab-shell version to 5.10.3
Clear caches before updating MR diffs
Use new Ruby version 2.4 in GitLab QA images
moved lfs blob fetch from extractspath file
Update GitLab QA dependencies
...
* Don't set request format to atom if '.atom' suffix was not provided
* Don't try '.atom' detection logic on request that uses extended_sha1
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
We need to do two things to support this:
1. Simplify the regex capture in the routing for the CommitsController
to not exclude the '.atom' suffix. That's a perfectly valid git
branch name, so we shouldn't blow up if we get it.
2. Because Rails now can't automatically detect the request format, add
some code to do so in `ExtractPath` when there is no path. This means
that, given branches 'foo' and 'foo.atom', the Atom feed for the
former is unroutable. To fix this: don't do that! Give the branches
different names!
1. Replace params key 'q' with 'extended_sha1'. A extended SHA1 syntax is explained in 'man gitrevisions'.
2. Change the placeholder of looking for commit.
3. Change the label of ref filter.