Instead of rendering this value server-side, we use Javascript and Gon
to apply the user's color scheme (or the default) to any syntax
highlighted code blocks.
This will make it easier to cache these blocks in the future because
they're no longer state-dependent.
HTML span elements only apply to a single line, and in the case of multi-line
comments, the highlighting was dropped as a result. Ensure that each line has
the proper styling to fix this.
Closes#1577
Fix error 500 when no HEAD is available
Steps to reproduce:
1. Create a project with a README
2. In the actual remote, type: `git symbolic-ref HEAD refs/heads/nowhere`
3. Check that HEAD is gone via `git ls-remote .`
4. Go to the projects page and see the Error 500
Error:
```
NoMethodError - undefined method `sha' for nil:NilClass:
app/helpers/projects_helper.rb:281:in `readme_cache_key'
app/views/projects/_readme.html.haml:10:in `_app_views_projects__readme_html_haml___2036282917939462960_70154565285700'
actionview (4.1.11) lib/action_view/template.rb:145:in `block in render'
activesupport (4.1.11) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.11) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.11) lib/active_support/notifications.rb:159:in `instrument'
actionview (4.1.11) lib/action_view/template.rb:339:in `instrument'
actionview (4.1.11) lib/action_view/template.rb:143:in `render'
rack-mini-profiler (0.9.0) lib/mini_profiler/profiling_methods.rb:108:in `block in profile_method'
actionview (4.1.11) lib/action_view/renderer/partial_renderer.rb:306:in `render_partial'
actionview (4.1.11) lib/action_view/renderer/partial_renderer.rb:279:in `block in render'
actionview (4.1.11) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
activesupport (4.1.11) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.11) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.11) lib/active_support/notifications.rb:159:in `instrument'
actionview (4.1.11) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
actionview (4.1.11) lib/action_view/renderer/partial_renderer.rb:278:in `render'
actionview (4.1.11) lib/action_view/renderer/renderer.rb:47:in `render_partial'
actionview (4.1.11) lib/action_view/helpers/rendering_helper.rb:35:in `render'
haml (4.0.5) lib/haml/helpers/action_view_mods.rb:10:in `block in render_with_haml'
haml (4.0.5) lib/haml/helpers.rb:89:in `non_haml'
haml (4.0.5) lib/haml/helpers/action_view_mods.rb:10:in `render_with_haml'
app/views/projects/show.html.haml:47:in `_app_views_projects_show_html_haml__1458303859692972698_70154948164180'
actionview (4.1.11) lib/action_view/template.rb:145:in `block in render'
activesupport (4.1.11) lib/active_support/notifications.rb:159:in `block in instrument'
```
Closes https://github.com/gitlabhq/gitlabhq/issues/9484, but there may be some other issue there.
See merge request !1041
Steps to reproduce:
1. Create a project with a README
2. In the actual remote, type: `git symbolic-ref HEAD refs/heads/nowhere`
3. Check that HEAD is gone via `git ls-remote .`
4. Go to the projects page and see the Error 500
Closes https://github.com/gitlabhq/gitlabhq/issues/9484
There were several specs that were failing when run by themselves.
- Use the `helper` object, as per RSpec 3 standards
- Use `assign` to assign instance variables that helpers expect
- Add `StubConfiguration` support module
Fix Error 500 when relative submodule resolves to a namespace that has a different name from its path
### What does this MR do?
This MR fixes a bug in resolving a namespace when the `name` differed from `path`.
### Why was this MR needed?
The original code was using `name`, when the proper input to `namespace_project_path` was `path`.
### What are the relevant issue numbers?
Closes#1849
See merge request !864