Unescape branch names in compare commit
The upgrade in GitLab v7.9 to Rails v4.1.9 caused all branch names in the compare commit mode to be escaped (e.g. `/` to `%2F`). The compare mode would not always work when comparing against branch names with a forward slash.
Opted to unescape the branch name rather than use a wildcard segment to prevent escaping slashes because it seems like a more sensible URL. The slashes in this case aren't really represented by a tree structure (e.g. /compare/one/two/branch..another/branch/here).
* Closes#1399
* Closes https://github.com/gitlabhq/gitlabhq/issues/9105
See merge request !582
Don't delete gitlab-test-fork folder after every test run
72a7febead added a forked repository cloned to `tmp/tests/gitlab-test-fork` but because it wasn't added to the list of folders not to delete every run, it was being cloned every run and adding extraneous console output.
See merge request !600
Make Reply-To config apply to change e-mail confirmation and other notifications sent through Devise
Notifications sent through Devise were using the default From: address, and due to a broken test line nothing was actually being run.
The only way to customize the Devise Reply-To field is to use a custom mailer. Moved the e-mail configuration out of the initializers to accommodate this.
Closes#1556
See merge request !596
This groups milestones by title for issue views like it has been done for
the milestone dashboard/project overview. Before milestones with the
same title would show up multiple times in the filter dropdown and one could
only filter per project and milestone. Now the milestone filter is based
on the title of the milestone, i.e. all issues marked with the same
milestone title are shown.
While `escape_once` will create this HTML entity, Nokogiri always
translates it back before it gets to IssueReferenceFilter, so there
should be no danger of erroneous issue links.
Fix "Revspec not found" errors when viewing diffs in a forked project with submodules
## What does this MR do?
This MR fixes an error that occurs when viewing diffs in a forked project with submodules.
### Are there points in the code the reviewer needs to double check?
Testing this code was tricky. The only way this problem shows up is if the origin project does NOT have the submodule update commit. The introduction of gitlab-test-fork serves that purpose: it contains a submodule update not present in gitlab-test.
### Why was this MR needed?
A user would receive a 500 error when trying to view a merge request with a submodule update. #1413 has details on how to reproduce this issue.
### What are the relevant issue numbers / [Feature requests](http://feedback.gitlab.com/)?
#1413
See merge request !512
Importing a JSON file with only one Subversion project lead to confusion
over whether the system was working. Provide status why these projects
could not be imported directly.
Closes#1531
Fix bug where commit data would not appear in some subdirectories
Fix issue where commit data would not show up in some subdirectories due to escaped slashes. For example:
https://gitlab.common-lisp.net/ecl/ecl/tree/develop/src/gc (now patched with fix)
The upgrade from Rails v4.1.2 to v4.1.9 (76aad9b76e) caused slashes in a tree to be escaped automatically. Using a wildcard glob in the route prevents this behavior.
* Closes#1478, #1459
* Closes https://github.com/gitlabhq/gitlabhq/issues/9037
See merge request !581
Add capybara-screenshot gem
This is a handy little gem that automatically saves the page and a screenshot when a Capybara test fails to `tmp/capybara/` so you can easily see why it might have failed without adding your own `save_and_open_page` directive in the code.
Also reduces the timeout for Capybara tests when not in a CI environment.
See merge request !578
Use Projects::CreateService to fork projects so that after-create hooks are run.
Makes for cleaner code and less duplication, and causes the "User created project Namespace / Project" event to be posted and system hooks to be run.
See merge request !575
The upgrade from Rails v4.1.2 to v4.1.9 (76aad9b76e) caused slashes in a tree to be escaped automatically.
Using wildcard globs prevents this behavior.
Closes#1478, #1459