Similar to this question, I would like an alternative to github that can be self-hosted. These are my requirements (they differ in 2 and 11 from the linked question). Requirement 11 (or a workable alternative) is a must.
- Relatively good web UI: source code and commit browsing are a must.
- Support for git and subversion. Support for mercurial is a plus.
- SSH shell (repositories must be accessible over ssh, instead of just http, even though at least git supports all operations over http relatively well)
- Permissions: at least
- private/public repositories
- read-only and full access
- Same permission set for web UI and for SSH (when granting/modifying permissions, it should be reflected to both)
- preferably integration to LDAP (both users and groups for permissions)
- Pull requests (aka. merge request)
- Administration tools: creating repositories, granting access
- Simple issue tracker: creating tickets, commenting, closing, tags/labels
- Preferably search, including tickets, users, projects, filenames and inside source code
- Preferably forking from web UI
- Preferably runs in Linux
- Access git repositories with subversion client (e.g. via an http(s) URL).
Must be either open source (which means it is okay if it is missing some minor functionality) or affordable (>2400€/year for 30 users is too expensive).
For background, I would like to retain our existing subversion repository, and reference a specific version of an external git repository (buildroot in this instance). Occasionally I would want to update the external to a newer version by switching the external reference and fixing any errors related to the updates. If possible, I would also like to store a clone of the external git repository within the self-hosted system.
If the above is not possible, can you recommend an alternative method to achieve the same purpose?