per request project rules caching
Enforce md style.

- multiple blank lines before header
- skip header level
- colon at end of header
- break very long lines
- align definition like lists at marker
- case typos
- informal contractions
Clariy squash comes after review.

So people don't focus on writing good commit messages for a bunch of unrelated fixes.
Check if blob or tree and redirect to the correct one.
Dont allow ? in project path

Because it causes 500 error on every page where link to such project
exists

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Merge branch 'fix-path-regex' into 'master'

Fix path regex

Fixes #1208

See merge request !955
Add tests for redirects.
Merge branch 'redirect_betwee_tree_and_blob' into 'master'

Redirect between tree and blob

This checks if on requested non-existing tree path blob exists, redirects to blob path if the file exists, otherwise return not found.

See #1369

See merge request !953
Update highlight.js to 8.1

Also added support for less common languages. All languages from
http://highlightjs.org/download/ now supported

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Merge branch 'update-highlight-js' into 'master'

Update highlight.js to 8.1

Pack version including all supported languages. Yay for Haml, Clojure, Go and Erlang support!

Fixes #1411.

See merge request !956
Show browse file if we are browsing file history.
Check if blob is requested.
Differentiate between dirs, files and general code.
Move the links decision to helper.
Add tests to check for correct browse link name.
Active link based on controller rather than action.
Upgrade to devise 3.2.4
Try to keep token authenticable compatibility
Merge branch 'active_highlight' into 'master'

Active highlight

This will highlight active page regardless of the action we use.

See merge request !957
Merge branch 'browse_file' into 'master'

Browse file

Fixes #1335

See merge request !951