Replacing the manual parsing of the /etc/group file with the equivalent call from the Etc class in the Ruby standard library. This has the benefit of supporting additional platforms (e.g. OS X).
handle attahcment with send_file
Environments support added to Gitlab config
API: tests to show incorrect behavior when reaching project limit

When reaching the project limit the API returns an error code 404 on the last possible
project. The project itself is created and is available in the database (seems valid).
A similar behavior can be observed when reaching the project limit via web client, but
in this case the user is notified that the maximum number of projects is reached. The project
itself is still created and can be accessed.

Tests are added to check the behavior when reaching the project limit or one tries
to exceed it via the API.
API: fixes return code when creating last project before reaching limit

When creating the last project via API when reaching the project limit a status code
of 404 (Not found) is returned instead of 201 (Created). The fix checks now correctly if
the project could be saved.
API: refactored last fix, project limit in web client is fixed too

The previous call `saved?` is restored in the `POST /projects` method in the API.
It is refactored to check if the record is persisted. This is useful to not validate
the record again after saving. This fixes the returned status code in the web client
too. If the last project is created via web client instead of error notification
the project page is shown.
Update post-receive worker to use correct identifier
Gitlab::ShellEnv added
require missing lib
fix archive download : not creating namespace directory
Merge pull request #2989 from PierreGambarotto/master

archive download : namespace directory not created
Merge pull request #2987 from Undev/support_env_in_settings

Environments support added to Gitlab config
Change .gitignore to ignore logrotated log files.
Add option to disable username changing

This option allows to disable users from changing their username.

This is very usefull in environments using strong internal authentication methods like ldap, pam or shibboleth.

You can allow users to change theyr username in these environments, but then new users (users loging in first time) is blocked from gitlab is her username exists.
Merge pull request #2890 from cameronyule/support_osx_groups

OS X support for gitlab:check rake tasks
API projects documentation grouped into sections & updated with status codes

The API documentation for projects now is structured into major sections that describe
the different aspects when dealing with projects, e.g. hooks, branches, team members etc.
All described methods now contain a list of possible status codes the method can return. A few
methods have extra sample JSON responses and a description if a method is idempotent.
Idempotent methods can be called multiple times while returning the same status code.
Test to check 404 error when project id not found
rename setup to setup_db so that it does not collide with gitlab:shell:setup task
Remove hardcoded refernce to gitlab-shell home. so that gitlab can be installed on any unix account other than git
remove commented code