Reorganized feature comparison (#4264)

This commit is contained in:
kolaente 2018-06-18 19:16:53 +02:00 committed by techknowlogick
parent 85414d8b75
commit 90ad73ae21
1 changed files with 90 additions and 656 deletions

View File

@ -27,659 +27,93 @@ _Symbols used in table:_
* _✘ - unsupported_ * _✘ - unsupported_
<table border="1" cellpadding="4"> #### General Features
<thead>
<tr> | Feature | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
<td>Feature</td> |---------|-------|------|-----------|-----------|-----------|-----------|--------------|
<td>Gitea</td> | Open source and free | βœ“ | βœ“ | ✘| βœ“ | ✘ | ✘ | βœ“ |
<td>Gogs</td> | Low resource usage (RAM/CPU) | βœ“ | βœ“ | ✘ | ✘ | ✘ | ✘ | ✘ |
<td>GitHub EE</td> | Multiple database support | βœ“ | βœ“ | ✘ | ⁄ | ⁄ | βœ“ | βœ“ |
<td>GitLab CE</td> | Multiple OS support | βœ“ | βœ“ | ✘ | ✘ | ✘ | ✘ | βœ“ |
<td>GitLab EE</td> | Easy upgrade process | βœ“ | βœ“ | ✘ | βœ“ | βœ“ | ✘ | βœ“ |
<td>BitBucket</td> | Markdown support | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>RhodeCode CE</td> | Static Git-powered pages | ✘ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
</tr> | Integrated Git-powered wiki | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
</thead> | Deploy Tokens | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<tbody> | Repository Tokens with write rights | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | βœ“ |
<tr> | Built-in Container Registry | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>Open source and free</td> | External git mirroring | βœ“ | βœ“ | ✘ | ✘ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | FIDO U2F (2FA) | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>βœ“</td> | Built-in CI/CD | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>✘</td> | Subgroups: groups within groups | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | βœ“ |
<td>βœ“</td>
<td>✘</td> #### Code management
<td>✘</td>
<td>βœ“</td> | Feature | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
</tr> |---------|-------|------|-----------|-----------|-----------|-----------|--------------|
<tr> | Repository topics | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>Issue tracker</td> | Repository code search | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | Global code search | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | Git LFS 2.0 | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ⁄ | βœ“ |
<td>βœ“</td> | Group Milestones | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Granular user roles (Code, Issues, Wiki etc) | βœ“ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Verified Committer | ✘ | ✘ | ? | βœ“ | βœ“ | βœ“ | ✘ |
<td>βœ“</td> | GPG Signed Commits | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>✘</td> | Reject unsigned commits | ✘ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | βœ“ |
</tr> | Repository Activity page | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<tr> | Branch manager | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>Pull/Merge requests</td> | Create new branches | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Web code editor | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | Commit graph | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td>
<td>βœ“</td> #### Issue Tracker
<td>βœ“</td>
<td>βœ“</td> | Feature | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
<td>βœ“</td> |---------|-------|------|-----------|-----------|-----------|-----------|--------------|
</tr> | Issue tracker | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<tr> | Issue templates | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>Squash merging</td> | Labels | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Time tracking | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>✘</td> | Multiple assignees for issues | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Related issues | ✘ | ✘ | ⁄ | ✘ | βœ“ | ✘ | ✘ |
<td>✘</td> | Confidential issues | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Comment reactions | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Lock Discussion | ✘ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Batch issue handling | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
</tr> | Issue Boards | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<tr> | Create new branches from issues | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>Rebase merging</td> | Issue search | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>βœ“</td> | Global issue search | ✘ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>βœ“</td>
<td>βœ“</td> #### Pull/Merge requests
<td>✘</td>
<td>⁄</td> | Feature | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
<td>✘</td> |---------|-------|------|-----------|-----------|-----------|-----------|--------------|
<td>βœ“</td> | Pull/Merge requests | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
</tr> | Squash merging | βœ“ | ✘ | βœ“ | ✘ | βœ“ | βœ“ | βœ“ |
<tr> | Rebase merging | βœ“ | βœ“ | βœ“ | ✘ | ⁄ | ✘ | βœ“ |
<td>Pull/Merge request inline comments</td> | Pull/Merge request inline comments | ✘ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>✘</td> | Pull/Merge request approval | ✘ | ✘ | ⁄ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>✘</td> | Merge conflict resolution | ✘ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>βœ“</td> | Restrict push and merge access to certain users | βœ“ | ✘ | βœ“ | ⁄ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | Revert specific commits or a merge request | ✘ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>βœ“</td> | Pull/Merge requests templates | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td> | Cherry-picking changes | ✘ | ✘ | ✘ | βœ“ | βœ“ | ✘ | ✘ |
<td>βœ“</td>
</tr>
<tr> #### 3rd-party integrations
<td>Pull/Merge request approval</td>
<td>✘</td> | Feature | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
<td>✘</td> |---------|-------|------|-----------|-----------|-----------|-----------|--------------|
<td>⁄</td> | Webhook support | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | Custom Git Hooks | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | AD / LDAP integration | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | Multiple LDAP / AD server support | βœ“ | βœ“ | ✘ | ✘ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td> | LDAP user synchronization | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
</tr> | OpenId Connect support | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | ? | ✘ |
<tr> | OAuth 2.0 integration (external authorization) | βœ“ | ✘ | ⁄ | βœ“ | βœ“ | ? | βœ“ |
<td>Merge conflict resolution</td> | Act as OAuth 2.0 provider | ✘ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>✘</td> | Two factor authentication (2FA) | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ | ✘ |
<td>✘</td> | Mattermost/Slack integration | βœ“ | βœ“ | ⁄ | βœ“ | βœ“ | ⁄ | βœ“ |
<td>βœ“</td> | Discord integration | βœ“ | βœ“ | βœ“ | ✘ | ✘ | ✘ | ✘ |
<td>βœ“</td> | External CI/CD status display | βœ“ | ✘ | βœ“ | βœ“ | βœ“ | βœ“ | βœ“ |
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Restrict push and merge access to certain users</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>⁄</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Markdown support</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Issues and pull/merge requests templates</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Revert specific commits or a merge request</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Labels</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Time tracking</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Multiple assignees for issues</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Related issues</td>
<td>✘</td>
<td>✘</td>
<td>⁄</td>
<td>✘</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Confidential issues</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Comment reactions</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Lock Discussion</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Batch issue handling</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Issue Boards</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Create new branches from issues</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Commit graph</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Web code editor</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Branch manager</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Create new branches</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Repository topics</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Repository code search</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Global code search</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Issue search</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Global issue search</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Git LFS 2.0</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>⁄</td>
<td>βœ“</td>
</tr>
<tr>
<td>Integrated Git-powered wiki</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Static Git-powered pages</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Group Milestones</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Granular user roles (Code, Issues, Wiki etc)</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Cherry-picking changes</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>GPG Signed Commits</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Reject unsigned commits</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
</tr>
<tr>
<td>Verified Committer</td>
<td>✘</td>
<td>✘</td>
<td>?</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Subgroups: groups within groups</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
</tr>
<tr>
<td>Custom Git Hooks</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Repository Activity page</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Deploy Tokens</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Repository Tokens with write rights</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
</tr>
<tr>
<td>Easy upgrade process</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
</tr>
<tr>
<td>Built-in Container Registry</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>External git mirroring</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>AD / LDAP integration</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Multiple LDAP / AD server support</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>LDAP user synchronization</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>OpenId Connect support</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>?</td>
<td>✘</td>
</tr>
<tr>
<td>OAuth 2.0 integration (external authorization)</td>
<td>βœ“</td>
<td>✘</td>
<td>⁄</td>
<td>βœ“</td>
<td>βœ“</td>
<td>?</td>
<td>βœ“</td>
</tr>
<tr>
<td>Act as OAuth 2.0 provider</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Two factor authentication (2FA)</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>FIDO U2F (2FA)</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
</tr>
<tr>
<td>Webhook support</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Mattermost/Slack integration</td>
<td>βœ“</td>
<td>βœ“</td>
<td>⁄</td>
<td>βœ“</td>
<td>βœ“</td>
<td>⁄</td>
<td>βœ“</td>
</tr>
<tr>
<td>Discord integration</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>Built-in CI/CD</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
</tr>
<tr>
<td>External CI/CD status display</td>
<td>βœ“</td>
<td>✘</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Multiple database support</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>⁄</td>
<td>⁄</td>
<td>βœ“</td>
<td>βœ“</td>
</tr>
<tr>
<td>Multiple OS support</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>βœ“</td>
</tr>
<tr>
<td>Low resource usage (RAM/CPU)</td>
<td>βœ“</td>
<td>βœ“</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
<td>✘</td>
</tr>
</tbody>
</table>