gitlabhq/gitlabhq — pull request #1568 by tsigo (2012-09-26 21:05:34+00:00)
Title: Routing overhaul

Closes #1507 and #1452

Redesigns all routes that work with branch/tag names and file paths:

```
```

It does this by basically allowing anything for the :id parameter on
these routes, and uses a
special module called
[ExtractsPaths](https://github.com/tsigo/gitlabhq/blob/routing_overhaul/lib/extracts_path.rb)
to separate the branch/tag from the file path.

As a consequence of this, I had to do some hack-ish stuff to still allow
the
Atom feeds to work. See 33126227, 6b90f36f and 1799cf3b.

Adds a new `nav_link` helper to the TabHelper module. It's well
documented, so
[have a
look](https://github.com/tsigo/gitlabhq/blob/routing_overhaul/app/helpers/tab_helper.rb#L2-68).
I also added comprehensive Spinach features to ensure that the correct
main and
sub tabs are marked as active across the various pages (see cada511f).

- I replaced all instances of `File.join(Rails.root, ...)` with
`Rails.root.join(...)`.
- I removed a `before_filter` called `render_full_content` that didn't
seem to
be doing anything.