Change "+" icon under "Files" section to have three options:
* Create file
* Upload file
* New directory
Upload file is no longer accessible from the "Create file" page.
Users can now select a target branch in upload file as well.
Closes#2799: Fixes a bug where file modes were overwritten after a commit
Closes https://github.com/gitlabhq/gitlabhq/issues/8253: Existing files
can no longer be overwritten in the "Create file" section.
Closes#2557
Create a "destroyed Milestone" event and keep Milestone events around in the DB for posterity
Also fix issue where destroying a Milestone would cause odd, transient messages like "created milestone" or "imported milestone".
Now if a milestone is destroyed, at least it will indicate in the activity feed even if it's not clear which milestone was destroyed:

Closes#2382
See merge request !1227
for posterity.
Also fix issue where destroying a Milestone would cause odd, transient messages like
"created milestone" or "imported milestone".
Add "in" preposition when creating and destroying milestones
Closes#2382
Refactor upload and replace functionality
Rename file and move CSS
Fix typo
Make dropzone a div
Remove unnecessary file
Change color of "upload existing one"
Add missing changes
Import forked repositories asynchronously to prevent large repositories from timing out
Preserve synchronous mode of adding a repository since some tasks (e.g. restore/check) require the former.
One side bug fix is that the `ProjectCacheWorker` is also run, updating the repository size and commit numbers properly. Previously all the values were set to 0 when a project were forked.
* Closes#2388
* Closes#2400
See merge request !1231
I also revamped the tests on "closing reference commits" (= "Fixes #xxxx" for example).
Now, there are two different contexts:
- when the commits with "closing reference" are pushed to the default branch,
- when the commits with "closing reference" are pushed to a non-default branch.
Closesgitlab-org/gitlab-ce#2190.