Merge request 1 (e761b36efaa37fc3c453e8382127e340bc736bc7 -> f10a2c9ce78194cdd2213e9631ab155b013f3e5b)
By: nheelyolis
Against ref: refs/heads/master
Date: 2018-08-11 20:29
This merge request cannot be merged without conflicts.
Conflicts:
added in remote
their 100644 f0ab30079de1d929c4f97a87894534b0cca16ccc root/themes/default/compare.html
@@ -0,0 +1,66 @@
+<div class="main_title">Git hosting solutions comparison</div>
+<div><b>Notes</b>:<br />- To contribute to this document, just e-mail us to in@rocketgit.com or clone the RocketGit <a href="https://rocketgit.com/user/catalinux/rocketgit">repository</a>, make changes and push them.<br />- Move mouse over features field for more information.</div>
+<table class="compare">
+<tr><th>Features / Product</th><th>RocketGit</th><th>Gitlab CE</th><th>GitHub</th><th>gitolite</th><th>Pagure.io</th><th>Gogs.io</th></tr>
+<tr><td colspan="7"><b>Legal</b></td></tr>
+<tr><td>License</td><td bgcolor="">Affero GPLv3+</td><td class="ccl-g">MIT</td><td class="ccl-r">Proprietary</td><td class="ccl-g">GPLv2</td><td class="ccl-g">GPLv2 or later</td><td class="ccl-g">MIT</td></tr>
+<tr><td><span title="This is about contributing to the Git hosting project, not about projects hosted inside. Signing/agreeing a Contributor Licence Agreement (CLA) is very bad for free software.">Developers keep copyright when contributing</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">n/a</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td></tr>
+<tr><td>GNU Ethical Repository Criteria Evaluations (see 3)</td><td class="ccl-g">A (-A4, +A+0, +A+1, +A+2, +A+5)</td><td class="ccl-r">C</td><td class="ccl-r">F</td><td>?</td><td class="ccl-g">A?</td><td>?</td></tr>
+<tr><td colspan="7"> </td></tr>
+<tr><td colspan="7"><b>Features</b></td></tr>
+<tr><td><span title="How easy can you install the software on your server?">Easy installation</span></td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td></tr>
+<tr><td><span title="SELinux is an application firewall used to improve the security">SELinux policy</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr>
+<tr><td><span title="Is a 'yum/dnf/apt-get/etc. update' is enough to update the software? Is it free of a inner package manager?">Distro friendly</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No (see 1)</td><td class="ccl-r">No (see 1)</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes?</td><td class="ccl-g">Yes?</td></tr>
+<tr><td>Bug tracker</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td>?</td></tr>
+<tr><td><span title="Allow SSH commands to show the list of repositories show a repo status etc.">CLI commands (SSH)</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td>API</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-g">Yes</td><td>?</td></tr>
+<tr><td><span title="With no user created, clone, make changes, will push result in a merge request, making it super easy to contribute to a project?">Anonymous push</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td class="ccl-r">No?</td><td class="ccl-r">No</td><td>?</td></tr>
+<tr><td>Languages available (i18n)</td><td>1</td><td>?</td><td>?</td><td>1</td><td>?</td><td>14</td></tr>
+<tr><td>IPv6</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td></tr>
+<tr><td><span title="Are Git submodules supported?">Submodules</span></td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td>Usable with lynx</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>n/a</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td></tr>
+<tr><td>2fa (two-factor authentication)</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes (see 2)</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td></tr>
+<tr><td>Web Hooks</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td></tr>
+<tr><td>Web Hooks - provide client certs</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td>n/a</td><td>?</td><td class="ccl-r">No</td></tr>
+<tr><td>Web Hooks - authenticate server (CA cert)</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td>n/a</td><td>?</td><td class="ccl-r">No</td></tr>
+<tr><td>OpenSSH AuthorizedKeysCommand</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-r">No</td><td>?</td></tr>
+<tr><td><span title="Can it disable the keys based on types and number of bits?">OpenSSH filter by key type and bits</span></td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td></tr>
+<tr><td><span title="Can it show: type, number of bits, when it was uploaded, when it was first/last used, how many times was used and last command?">Detailed info about the SSH keys</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td>?</td></tr>
+<tr><td>LDAP user authentication</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td></tr>
+<tr><td>LDAP groups</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td>PAM user authentication</td><td class="ccl-r">No</td><td>?</td><td>?</td><td>?</td><td>?</td><td class="ccl-g">Yes</td></tr>
+<tr><td>Git LFS</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td></tr>
+<tr><td>Lock repo with a message</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td>Continuous integration</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td>Code review</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td>Wiki</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>n/a</td><td>?</td><td>?</td></tr>
+<tr><td><span title="Is it light on CPU/memory/disk?">System resource friendly?</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td></tr>
+<tr><td colspan="7"> </td></tr>
+<tr><td colspan="7"><b>Rights</b></td></tr>
+<tr><td><span title="Can it control which files are pushed with some regex?">Path control</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td></tr>
+<tr><td><span title="Can it control with a regex what branches you fetch/push?">Refs control</span></td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">Yes</td><td>?</td></tr>
+<tr><td><span title="Can it control from what IPs you can fetch/push?">IP control</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td>?</td><td class="ccl-g">Yes?</td><td>?</td></tr>
+<tr><td colspan="7"> </td></tr>
+<tr><td colspan="7"><b>Product distribution/evaluation</b></td></tr>
+<tr><td>KVM image available?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr>
+<tr><td>VirtualBox image available?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr>
+<tr><td>VMWare image available?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr>
+<tr><td>Docker container available?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
+<tr><td colspan="7"> </td></tr>
+<tr><td colspan="7"><b>Details</b></td></tr>
+<tr><td>Language</td><td>PHP</td><td>Ruby+Perl</td><td>Ruby</td><td>Perl</td><td>Python</td><td>Go</td></tr>
+<tr><td><span title="JavaScript not included">Number of code lines</span></td><td>38k</td><td>360k</td><td>?</td><td>?</td><td>80k</td><td>520k</td></tr>
+<tr><td>Cache</td><td>Custom</td><td>Redis</td><td>memcache</td><td>n/a</td><td>Redis</td><td>Custom/Redis/memcache</td></tr>
+<tr><td>Database</td><td>PostgreSQL</td><td>My/PostgresSQL</td><td>MySQL</td><td>?</td><td>MySQL/MariaDB/PostgreSQL/SQLite</td><td>PostgreSQL/MySQL/SQLite</td></tr>
+<tr><td>Webserver</td><td>nginx/apache</td><td>apache/nginx</td><td>?</td><td>?</td><td>n/a</td><td>apache/nginx/lighttpd</td></tr>
+<tr><td>Size of the rpm package</td><td class="ccl-g">400KiB</td><td class="ccl-r">287MiB</td><td>?</td><td class="ccl-g">170KiB</td><td>?</td><td>?</td></tr>
+<tr><td>Page speed: Mobile (speed/user experience)</td><td class="ccl-g">90/96</td><td class="ccl-r">32/90</td><td class="ccl-r">67/96</td><td>n/a</td><td class="ccl-r">54/67</td><td class="ccl-r">32/72</td></tr>
+<tr><td>Page speed: Desktop</td><td class="ccl-g">96</td><td>?</td><td class="ccl-g">81</td><td>n/a</td><td class="ccl-r">64</td><td class="ccl-r">26</td></tr>
+<tr><td>CSS size</td><td class="ccl-g">9KiB</td><td class="ccl-r">250KiB</td><td class="ccl-r">560KiB</td><td>n/a</td><td class="ccl-g">130KiB</td><td class="ccl-r">520KiB</td></tr>
+<tr><td>JS size</td><td class="ccl-g">0KiB</td><td class="ccl-r">1170KiB</td><td class="ccl-r">670KiB</td><td>n/a</td><td class="ccl-r">450KiB</td><td class="ccl-r">350KiB</td></tr>
+<tr><td colspan="7"> </td></tr>
+<tr><td colspan="7"><b>Notes</b></td></tr>
+<tr><td colspan="7">1) It has a not standard package manager; upgrading distro does not update the git software (pip, gem etc.). Or is a big archive including packages already found in the distribution.</td></tr>
+<tr><td colspan="7">2) Seems is not really secure: if key is leaking, the attacker can push.</td></tr>
+<tr><td colspan="7">3) Repo criteria by GNU: https://www.gnu.org/software/repo-criteria.html</td></tr>
+</table>
changed in both
base 100644 61e6a4704fadd9b6ee45cf542d153913066a3d54 root/themes/default/main.css
our 100644 4528e0c35db6e658ebd9c83875a0e863f8ec5b90 root/themes/default/main.css
their 100644 d19594980951e791041519233bcd8e29012ac26a root/themes/default/main.css
@@ -14,6 +14,7 @@
font-family: Arial, sans-serif;
font-size: 11pt;
line-height: 105%;
+<<<<<<< .our
background-color: #ccc;
height: 100%;
}
@@ -24,6 +25,10 @@
li {
margin-left: 5pt;
+=======
+ background-color: #212121;
+ color: gray;
+>>>>>>> .their
}
table {
@@ -40,7 +45,9 @@
vertical-align: top;
text-align: left;
padding: 3px;
- border: 1px solid #aaa;
+ border: 1px solid #383838;
+ background-color: #212121;
+ color: gray;
}
thead tr {
@@ -56,24 +63,39 @@
a {
text-decoration: none;
+ color: darkgoldenrod;
}
.xcode {
+<<<<<<< .our
border-left: 4px solid #f00;
font-size: 9pt;
+=======
+ border-left: 4px solid #903232;
+ font-size: 10pt;
+>>>>>>> .their
margin: 5px;
padding-left: 5px;
font-family: monospace;
+ color: #bdbdbd;
}
.term {
- background-color: #000;
+ background-color: #121212;
font-family: monospace;
font-size: 9pt;
+<<<<<<< .our
color: #0f0;
border-left: 4px solid #f00;
margin: 5pt 0;
padding: 5pt;
+=======
+ color: #969696;
+ border-left: 4px solid #6e1d1d;
+ margin: 5px 0;
+ padding-left: 5px;
+ padding-right: 5px;
+>>>>>>> .their
white-space: pre-wrap;
}
@@ -84,8 +106,15 @@
form input, form textarea, form select {
border: 1px solid #999;
font-size: 11pt;
+<<<<<<< .our
padding: 3pt;
width: 100%;
+=======
+ padding: 2px;
+ margin: 2px 0px;
+ background-color: #1e2024;
+ color: grey;
+>>>>>>> .their
}
form input[type="checkbox"] {
width: auto;
@@ -94,6 +123,7 @@
width: auto;
}
form input[type="submit"] {
+<<<<<<< .our
color: #f00;
font-size: 12pt;
padding: 7pt;
@@ -107,6 +137,15 @@
}
form .form_short {
width: auto;
+=======
+ color: #fff;
+ font-size: 11pt;
+ padding: 2px 4px 2px 4px;
+ cursor: pointer;
+ border: 1px solid #999;
+ /*! background-image: -moz-linear-gradient(top, #EEE, #DDD); */
+ margin-top: 5pt;
+>>>>>>> .their
}
.buttons {
@@ -126,7 +165,7 @@
font-size: 16pt;
font-weight: bold;
padding: 5px 15px;
- color: yellow;
+ color: #efb527;
font-style: italic;
text-shadow: 0 0 2px #000;
}
@@ -146,9 +185,14 @@
vertical-align: middle;
font-size: 10pt;
font-weight: bold;
+<<<<<<< .our
color: #000;
padding: 1pt;
margin: 4pt;
+=======
+ color: whitesmoke;
+ padding: 6px;
+>>>>>>> .their
}
.main_menu a:hover { color: #f00; }
@@ -180,10 +224,10 @@
padding: 2px 15px;
text-shadow: 0 0 2px #000;
}
-.menu ul li a:hover { color: #f00; }
-.menu ul li.selected a { border-bottom: 2px solid #f00; }
-.menu2 { background-color: #aaa; }
-.menu3 { background-color: #bbb; }
+.menu ul li a:hover { color: #b01b1b; }
+.menu ul li.selected a { border-bottom: 2px solid #921414; }
+.menu2 { background-color: #565656; }
+.menu3 { background-color: #565656; }
.main_title {
@@ -191,7 +235,7 @@
text-shadow: 0 0 2px #000;
font-size: 20pt;
font-weight: bold;
- border-bottom: 2px solid #f00;
+ border-bottom: 2px solid #921414;
}
.junk {}
@@ -204,8 +248,8 @@
border-radius: 4px 4px 4px 4px;
font-size: 10pt;
}
-.branch a { background-color: #a0ffa0; }
-.tag a { background-color: #ffffa0; }
+.branch a { background-color: #86c686; }
+.tag a { background-color: #b9b961; }
#container {
@@ -225,7 +269,12 @@
}
#header {
+<<<<<<< .our
background-color: #bbb;
+=======
+ background-color: #565656;
+ margin-bottom: 6px;
+>>>>>>> .their
display: flex;
flex-flow: row wrap;
justify-content: space-between;
@@ -234,8 +283,13 @@
}
#footer {
+<<<<<<< .our
background-color: #bbb;
margin-top: 7pt;
+=======
+ background-color: #3b3b3b;
+ margin-top: 6px;
+>>>>>>> .their
display: flex;
flex-flow: row wrap;
align-content: space-around;
@@ -248,7 +302,7 @@
width: 190pt;
}
.footer_info {
- color: #000;
+ color: #898989;
padding: 10px;
font-size: 11pt;
vertical-align: top;
@@ -277,7 +331,8 @@
font-weight: bold;
font-size: 13pt;
border: 0;
- border-bottom: 2px solid #f00;
+ border-bottom: 2px solid #a42a2a;
+ color: white;
}
@@ -334,19 +389,28 @@
.cl-r {
font-family: monospace;
font-size: 9pt;
- background-color: #f00;
+ background-color: #4a1d1d;
}
.cl-g {
font-family: monospace;
font-size: 9pt;
- background-color: #0f0;
+ background-color: #194119;
}
.cl-e {
font-family: monospace;
font-size: 9pt;
- background-color: #eee;
+ background-color: #000;
+ color: #b7b7b7;
+}
+
+.ccl-r {
+ background-color: #4a1d1d;
+}
+
+.ccl-g {
+ background-color: #194119;
}
.repo_container {
@@ -363,7 +427,7 @@
color: #c00;
}
.repo_title a {
- color: #777;
+ color: #b5840b;
}
.repo_title_info {
@@ -371,9 +435,15 @@
}
.repo_desc {
+<<<<<<< .our
font-size: 10pt;
color: #333;
+=======
+ font-size: 14pt;
+ color: #888;
+>>>>>>> .their
margin: 3px 0px;
+ font-style: italic;
}
.repo_body {
@@ -393,10 +463,11 @@
border: 1px solid #aaa;
border-radius: 4px 4px 4px 4px;
padding: 3px 3px;
- background-color: #e5e5ff;
+ background-color: #565656;
+ color: white;
}
.url a {
- color: #666;
+ color: #b5840a;
}
.form_error { margin-top: 6pt; color: #f00; }
@@ -418,24 +489,32 @@
background-color: #a0d0ff;
}
+<<<<<<< .our
.searches { }
+=======
+.
+{ padding: 3px 0px; margin: 3px 0px; }
+>>>>>>> .their
.searches ul { list-style-type: none; }
.searches ul li {
display: inline;
padding: 3px 3px;
color: #000;
- border: 1px solid #aaa;
+ border: 1px solid #ccc;
border-radius: 4px 4px 4px 4px;
font-size: 9pt;
- background-color: #a0d0ff;
+ background-color: #6e93b9;
+}
+.searches a {
+ color: white;
}
.hints {
text-align: left;
- background-color: #fff;
+ background-color: #2c2b2b;
padding: 4pt;
border-radius: 4px 4px 4px 4px;
- border: 1px solid #ccc;
+ border: 1px solid #6e6e6e;
font-size: 9pt;
box-shadow: 0px 2px 3px #666;
}
@@ -499,8 +578,8 @@
}
.error {
- background-color: #f00;
- color: #000;
+ background-color: #8a2727;
+ color: #d5d5d5;
}
.warning_text {
@@ -508,15 +587,15 @@
}
.warning {
- background-color: #ccc;
- border: 1px solid #f00;
- color: #f00;
+ background-color: #212121;
+ border: 1px solid #813030;
+ color: #952525;
}
.ok {
- background-color: #8f8;
- border: 1px solid #000;
- color: #000;
+ background-color: #4e784e;
+ border: 1px solid #4e784e;
+ color: #fff;
}
.page_title {
@@ -535,7 +614,7 @@
}
.island, .island_wide {
- border-radius: 4px 4px 4px 4px;
+ /*! border-radius: 4px 4px 4px 4px; */
border: 1px solid #999;
font-size: 13pt;
padding: 5pt;
@@ -549,7 +628,7 @@
}
.island_title {
- color: #f00;
+ color: #ad3b3b;
font-size: 14pt;
font-weight: bold;
padding-bottom: 9px;
@@ -660,6 +739,7 @@
}
+<<<<<<< .our
.compare { }
.compare_intro { margin-top: 7pt; }
.compare_good { background-color: #0f0; }
@@ -700,3 +780,6 @@
margin-top: 8pt;
}
+=======
+.
+>>>>>>> .their
changed in both
base 100644 04b55ca097d92ab4e7b88c691fe26feb316d5dcd root/themes/default/main.html
our 100644 ec812085f2356590b533a6d857e4e664c001216f root/themes/default/main.html
their 100644 e750c80d50cb4de2ad66d381f432e1d5e9037361 root/themes/default/main.html
@@ -1,5 +1,5 @@
<div class="islands">
- <div class="island" style="background-color: #bbb; color: #fff; width: 100%">
+ <div class="island" style="width: 100%">
<div class="island_title island_title_big">Welcome to RocketGit!</div>
<span style="font-weight: bold; font-size: 16pt">
Free (as in speech and as in beer) software
Commit f10a2c9ce78194cdd2213e9631ab155b013f3e5b
- More eye-friendly dark theme.
Author: nheelyolis
Author date (UTC): 2018-08-11 20:21
Committer name: nheelyolis
Committer date (UTC): 2018-08-11 20:21
Parent(s): e761b36efaa37fc3c453e8382127e340bc736bc7
Signer:
Signing key:
Signing status: N
Tree: 53d0771f925338ad3edd1018786aa6f4fd3e184d
File root/themes/default/compare.html added (mode: 100644) (index 0000000..f0ab300) |
|
1 |
|
<div class="main_title">Git hosting solutions comparison</div> |
|
2 |
|
<div><b>Notes</b>:<br />- To contribute to this document, just e-mail us to in@rocketgit.com or clone the RocketGit <a href="https://rocketgit.com/user/catalinux/rocketgit">repository</a>, make changes and push them.<br />- Move mouse over features field for more information.</div> |
|
3 |
|
<table class="compare"> |
|
4 |
|
<tr><th>Features / Product</th><th>RocketGit</th><th>Gitlab CE</th><th>GitHub</th><th>gitolite</th><th>Pagure.io</th><th>Gogs.io</th></tr> |
|
5 |
|
<tr><td colspan="7"><b>Legal</b></td></tr> |
|
6 |
|
<tr><td>License</td><td bgcolor="">Affero GPLv3+</td><td class="ccl-g">MIT</td><td class="ccl-r">Proprietary</td><td class="ccl-g">GPLv2</td><td class="ccl-g">GPLv2 or later</td><td class="ccl-g">MIT</td></tr> |
|
7 |
|
<tr><td><span title="This is about contributing to the Git hosting project, not about projects hosted inside. Signing/agreeing a Contributor Licence Agreement (CLA) is very bad for free software.">Developers keep copyright when contributing</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">n/a</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td></tr> |
|
8 |
|
<tr><td>GNU Ethical Repository Criteria Evaluations (see 3)</td><td class="ccl-g">A (-A4, +A+0, +A+1, +A+2, +A+5)</td><td class="ccl-r">C</td><td class="ccl-r">F</td><td>?</td><td class="ccl-g">A?</td><td>?</td></tr> |
|
9 |
|
<tr><td colspan="7"> </td></tr> |
|
10 |
|
<tr><td colspan="7"><b>Features</b></td></tr> |
|
11 |
|
<tr><td><span title="How easy can you install the software on your server?">Easy installation</span></td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td></tr> |
|
12 |
|
<tr><td><span title="SELinux is an application firewall used to improve the security">SELinux policy</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr> |
|
13 |
|
<tr><td><span title="Is a 'yum/dnf/apt-get/etc. update' is enough to update the software? Is it free of a inner package manager?">Distro friendly</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No (see 1)</td><td class="ccl-r">No (see 1)</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes?</td><td class="ccl-g">Yes?</td></tr> |
|
14 |
|
<tr><td>Bug tracker</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td>?</td></tr> |
|
15 |
|
<tr><td><span title="Allow SSH commands to show the list of repositories show a repo status etc.">CLI commands (SSH)</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> |
|
16 |
|
<tr><td>API</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-g">Yes</td><td>?</td></tr> |
|
17 |
|
<tr><td><span title="With no user created, clone, make changes, will push result in a merge request, making it super easy to contribute to a project?">Anonymous push</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td class="ccl-r">No?</td><td class="ccl-r">No</td><td>?</td></tr> |
|
18 |
|
<tr><td>Languages available (i18n)</td><td>1</td><td>?</td><td>?</td><td>1</td><td>?</td><td>14</td></tr> |
|
19 |
|
<tr><td>IPv6</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td></tr> |
|
20 |
|
<tr><td><span title="Are Git submodules supported?">Submodules</span></td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> |
|
21 |
|
<tr><td>Usable with lynx</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>n/a</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td></tr> |
|
22 |
|
<tr><td>2fa (two-factor authentication)</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes (see 2)</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td></tr> |
|
23 |
|
<tr><td>Web Hooks</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td></tr> |
|
24 |
|
<tr><td>Web Hooks - provide client certs</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td>n/a</td><td>?</td><td class="ccl-r">No</td></tr> |
|
25 |
|
<tr><td>Web Hooks - authenticate server (CA cert)</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td>n/a</td><td>?</td><td class="ccl-r">No</td></tr> |
|
26 |
|
<tr><td>OpenSSH AuthorizedKeysCommand</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-r">No</td><td>?</td></tr> |
|
27 |
|
<tr><td><span title="Can it disable the keys based on types and number of bits?">OpenSSH filter by key type and bits</span></td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td></tr> |
|
28 |
|
<tr><td><span title="Can it show: type, number of bits, when it was uploaded, when it was first/last used, how many times was used and last command?">Detailed info about the SSH keys</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td>?</td></tr> |
|
29 |
|
<tr><td>LDAP user authentication</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td class="ccl-r">No</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td></tr> |
|
30 |
|
<tr><td>LDAP groups</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> |
|
31 |
|
<tr><td>PAM user authentication</td><td class="ccl-r">No</td><td>?</td><td>?</td><td>?</td><td>?</td><td class="ccl-g">Yes</td></tr> |
|
32 |
|
<tr><td>Git LFS</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td class="ccl-r">No</td></tr> |
|
33 |
|
<tr><td>Lock repo with a message</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> |
|
34 |
|
<tr><td>Continuous integration</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> |
|
35 |
|
<tr><td>Code review</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td></tr> |
|
36 |
|
<tr><td>Wiki</td><td class="ccl-r">No</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>n/a</td><td>?</td><td>?</td></tr> |
|
37 |
|
<tr><td><span title="Is it light on CPU/memory/disk?">System resource friendly?</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td></tr> |
|
38 |
|
<tr><td colspan="7"> </td></tr> |
|
39 |
|
<tr><td colspan="7"><b>Rights</b></td></tr> |
|
40 |
|
<tr><td><span title="Can it control which files are pushed with some regex?">Path control</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td></tr> |
|
41 |
|
<tr><td><span title="Can it control with a regex what branches you fetch/push?">Refs control</span></td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">Yes</td><td>?</td></tr> |
|
42 |
|
<tr><td><span title="Can it control from what IPs you can fetch/push?">IP control</span></td><td class="ccl-g">Yes</td><td class="ccl-r">No</td><td>?</td><td>?</td><td class="ccl-g">Yes?</td><td>?</td></tr> |
|
43 |
|
<tr><td colspan="7"> </td></tr> |
|
44 |
|
<tr><td colspan="7"><b>Product distribution/evaluation</b></td></tr> |
|
45 |
|
<tr><td>KVM image available?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr> |
|
46 |
|
<tr><td>VirtualBox image available?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr> |
|
47 |
|
<tr><td>VMWare image available?</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td class="ccl-g">not needed</td><td>?</td><td>?</td></tr> |
|
48 |
|
<tr><td>Docker container available?</td><td class="ccl-g">Yes</td><td class="ccl-g">Yes</td><td>?</td><td>?</td><td>?</td><td>?</td></tr> |
|
49 |
|
<tr><td colspan="7"> </td></tr> |
|
50 |
|
<tr><td colspan="7"><b>Details</b></td></tr> |
|
51 |
|
<tr><td>Language</td><td>PHP</td><td>Ruby+Perl</td><td>Ruby</td><td>Perl</td><td>Python</td><td>Go</td></tr> |
|
52 |
|
<tr><td><span title="JavaScript not included">Number of code lines</span></td><td>38k</td><td>360k</td><td>?</td><td>?</td><td>80k</td><td>520k</td></tr> |
|
53 |
|
<tr><td>Cache</td><td>Custom</td><td>Redis</td><td>memcache</td><td>n/a</td><td>Redis</td><td>Custom/Redis/memcache</td></tr> |
|
54 |
|
<tr><td>Database</td><td>PostgreSQL</td><td>My/PostgresSQL</td><td>MySQL</td><td>?</td><td>MySQL/MariaDB/PostgreSQL/SQLite</td><td>PostgreSQL/MySQL/SQLite</td></tr> |
|
55 |
|
<tr><td>Webserver</td><td>nginx/apache</td><td>apache/nginx</td><td>?</td><td>?</td><td>n/a</td><td>apache/nginx/lighttpd</td></tr> |
|
56 |
|
<tr><td>Size of the rpm package</td><td class="ccl-g">400KiB</td><td class="ccl-r">287MiB</td><td>?</td><td class="ccl-g">170KiB</td><td>?</td><td>?</td></tr> |
|
57 |
|
<tr><td>Page speed: Mobile (speed/user experience)</td><td class="ccl-g">90/96</td><td class="ccl-r">32/90</td><td class="ccl-r">67/96</td><td>n/a</td><td class="ccl-r">54/67</td><td class="ccl-r">32/72</td></tr> |
|
58 |
|
<tr><td>Page speed: Desktop</td><td class="ccl-g">96</td><td>?</td><td class="ccl-g">81</td><td>n/a</td><td class="ccl-r">64</td><td class="ccl-r">26</td></tr> |
|
59 |
|
<tr><td>CSS size</td><td class="ccl-g">9KiB</td><td class="ccl-r">250KiB</td><td class="ccl-r">560KiB</td><td>n/a</td><td class="ccl-g">130KiB</td><td class="ccl-r">520KiB</td></tr> |
|
60 |
|
<tr><td>JS size</td><td class="ccl-g">0KiB</td><td class="ccl-r">1170KiB</td><td class="ccl-r">670KiB</td><td>n/a</td><td class="ccl-r">450KiB</td><td class="ccl-r">350KiB</td></tr> |
|
61 |
|
<tr><td colspan="7"> </td></tr> |
|
62 |
|
<tr><td colspan="7"><b>Notes</b></td></tr> |
|
63 |
|
<tr><td colspan="7">1) It has a not standard package manager; upgrading distro does not update the git software (pip, gem etc.). Or is a big archive including packages already found in the distribution.</td></tr> |
|
64 |
|
<tr><td colspan="7">2) Seems is not really secure: if key is leaking, the attacker can push.</td></tr> |
|
65 |
|
<tr><td colspan="7">3) Repo criteria by GNU: https://www.gnu.org/software/repo-criteria.html</td></tr> |
|
66 |
|
</table> |
File root/themes/default/main.css changed (mode: 100644) (index 61e6a47..d195949) |
... |
... |
body { |
12 |
12 |
font-family: Arial, sans-serif; |
font-family: Arial, sans-serif; |
13 |
13 |
font-size: 11pt; |
font-size: 11pt; |
14 |
14 |
line-height: 105%; |
line-height: 105%; |
15 |
|
background-color: #ccc; |
|
|
15 |
|
background-color: #212121; |
|
16 |
|
color: gray; |
16 |
17 |
} |
} |
17 |
18 |
|
|
18 |
19 |
table { |
table { |
|
... |
... |
th, td { |
28 |
29 |
vertical-align: top; |
vertical-align: top; |
29 |
30 |
text-align: left; |
text-align: left; |
30 |
31 |
padding: 3px; |
padding: 3px; |
31 |
|
border: 1px solid #aaa; |
|
|
32 |
|
border: 1px solid #383838; |
|
33 |
|
background-color: #212121; |
|
34 |
|
color: gray; |
32 |
35 |
} |
} |
33 |
36 |
|
|
34 |
37 |
a { |
a { |
35 |
38 |
text-decoration: none; |
text-decoration: none; |
|
39 |
|
color: darkgoldenrod; |
36 |
40 |
} |
} |
37 |
41 |
|
|
38 |
42 |
.xcode { |
.xcode { |
39 |
|
border-left: 4px solid #f00; |
|
|
43 |
|
border-left: 4px solid #903232; |
40 |
44 |
font-size: 10pt; |
font-size: 10pt; |
41 |
45 |
margin: 5px; |
margin: 5px; |
42 |
46 |
padding-left: 5px; |
padding-left: 5px; |
43 |
47 |
font-family: monospace; |
font-family: monospace; |
|
48 |
|
color: #bdbdbd; |
44 |
49 |
} |
} |
45 |
50 |
|
|
46 |
51 |
.term { |
.term { |
47 |
|
background-color: #000; |
|
|
52 |
|
background-color: #121212; |
48 |
53 |
font-family: monospace; |
font-family: monospace; |
49 |
54 |
font-size: 9pt; |
font-size: 9pt; |
50 |
|
color: #0f0; |
|
51 |
|
border-left: 4px solid #f00; |
|
|
55 |
|
color: #969696; |
|
56 |
|
border-left: 4px solid #6e1d1d; |
52 |
57 |
margin: 5px 0; |
margin: 5px 0; |
53 |
58 |
padding-left: 5px; |
padding-left: 5px; |
54 |
59 |
padding-right: 5px; |
padding-right: 5px; |
|
... |
... |
form textarea, form select { |
64 |
69 |
font-size: 11pt; |
font-size: 11pt; |
65 |
70 |
padding: 2px; |
padding: 2px; |
66 |
71 |
margin: 2px 0px; |
margin: 2px 0px; |
|
72 |
|
background-color: #1e2024; |
|
73 |
|
color: grey; |
67 |
74 |
} |
} |
68 |
75 |
form input[type="checkbox"] { |
form input[type="checkbox"] { |
69 |
76 |
margin-right: 2pt; |
margin-right: 2pt; |
|
... |
... |
form input[type="radio"] { |
73 |
80 |
} |
} |
74 |
81 |
form select option { padding: 1px 4px 1px 4px; } |
form select option { padding: 1px 4px 1px 4px; } |
75 |
82 |
form input[type="submit"] { |
form input[type="submit"] { |
76 |
|
color: #f00; |
|
|
83 |
|
color: #fff; |
77 |
84 |
font-size: 11pt; |
font-size: 11pt; |
78 |
85 |
padding: 2px 4px 2px 4px; |
padding: 2px 4px 2px 4px; |
79 |
86 |
cursor: pointer; |
cursor: pointer; |
80 |
87 |
border: 1px solid #999; |
border: 1px solid #999; |
81 |
|
background-image: -moz-linear-gradient(top, #EEE, #DDD); |
|
|
88 |
|
/*! background-image: -moz-linear-gradient(top, #EEE, #DDD); */ |
82 |
89 |
margin-top: 5pt; |
margin-top: 5pt; |
83 |
90 |
} |
} |
84 |
91 |
|
|
|
... |
... |
legend { padding: 0px 2pt; } |
99 |
106 |
font-size: 16pt; |
font-size: 16pt; |
100 |
107 |
font-weight: bold; |
font-weight: bold; |
101 |
108 |
padding: 5px 15px; |
padding: 5px 15px; |
102 |
|
color: yellow; |
|
|
109 |
|
color: #efb527; |
103 |
110 |
font-style: italic; |
font-style: italic; |
104 |
111 |
vertical-align: middle; |
vertical-align: middle; |
105 |
112 |
text-shadow: 0 0 2px #000; |
text-shadow: 0 0 2px #000; |
|
... |
... |
legend { padding: 0px 2pt; } |
120 |
127 |
.main_menu a { |
.main_menu a { |
121 |
128 |
font-size: 10pt; |
font-size: 10pt; |
122 |
129 |
font-weight: bold; |
font-weight: bold; |
123 |
|
color: #000; |
|
|
130 |
|
color: whitesmoke; |
124 |
131 |
padding: 6px; |
padding: 6px; |
125 |
132 |
} |
} |
126 |
133 |
.main_menu a:hover { color: #f00; } |
.main_menu a:hover { color: #f00; } |
|
... |
... |
legend { padding: 0px 2pt; } |
152 |
159 |
padding: 2px 15px; |
padding: 2px 15px; |
153 |
160 |
text-shadow: 0 0 2px #000; |
text-shadow: 0 0 2px #000; |
154 |
161 |
} |
} |
155 |
|
.menu ul li a:hover { color: #f00; } |
|
156 |
|
.menu ul li.selected a { border-bottom: 2px solid #f00; } |
|
157 |
|
.menu2 { background-color: #aaa; } |
|
158 |
|
.menu3 { background-color: #bbb; } |
|
|
162 |
|
.menu ul li a:hover { color: #b01b1b; } |
|
163 |
|
.menu ul li.selected a { border-bottom: 2px solid #921414; } |
|
164 |
|
.menu2 { background-color: #565656; } |
|
165 |
|
.menu3 { background-color: #565656; } |
159 |
166 |
|
|
160 |
167 |
|
|
161 |
168 |
.main_title { |
.main_title { |
|
... |
... |
legend { padding: 0px 2pt; } |
165 |
172 |
text-shadow: 0 0 2px #000; |
text-shadow: 0 0 2px #000; |
166 |
173 |
font-size: 20pt; |
font-size: 20pt; |
167 |
174 |
font-weight: bold; |
font-weight: bold; |
168 |
|
border-bottom: 2px solid #f00; |
|
|
175 |
|
border-bottom: 2px solid #921414; |
169 |
176 |
} |
} |
170 |
177 |
|
|
171 |
178 |
.junk {} |
.junk {} |
|
... |
... |
legend { padding: 0px 2pt; } |
178 |
185 |
border-radius: 4px 4px 4px 4px; |
border-radius: 4px 4px 4px 4px; |
179 |
186 |
font-size: 10pt; |
font-size: 10pt; |
180 |
187 |
} |
} |
181 |
|
.branch a { background-color: #a0ffa0; } |
|
182 |
|
.tag a { background-color: #ffffa0; } |
|
|
188 |
|
.branch a { background-color: #86c686; } |
|
189 |
|
.tag a { background-color: #b9b961; } |
183 |
190 |
|
|
184 |
191 |
|
|
185 |
192 |
#container { |
#container { |
|
... |
... |
legend { padding: 0px 2pt; } |
199 |
206 |
} |
} |
200 |
207 |
|
|
201 |
208 |
#header { |
#header { |
202 |
|
background-color: #bbb; |
|
|
209 |
|
background-color: #565656; |
203 |
210 |
margin-bottom: 6px; |
margin-bottom: 6px; |
204 |
211 |
display: flex; |
display: flex; |
205 |
212 |
flex-flow: row wrap; |
flex-flow: row wrap; |
|
... |
... |
legend { padding: 0px 2pt; } |
209 |
216 |
} |
} |
210 |
217 |
|
|
211 |
218 |
#footer { |
#footer { |
212 |
|
background-color: #bbb; |
|
|
219 |
|
background-color: #3b3b3b; |
213 |
220 |
margin-top: 6px; |
margin-top: 6px; |
214 |
221 |
display: flex; |
display: flex; |
215 |
222 |
flex-flow: row wrap; |
flex-flow: row wrap; |
|
... |
... |
legend { padding: 0px 2pt; } |
222 |
229 |
width: 190pt; |
width: 190pt; |
223 |
230 |
} |
} |
224 |
231 |
.footer_info { |
.footer_info { |
225 |
|
color: #000; |
|
|
232 |
|
color: #898989; |
226 |
233 |
padding: 10px; |
padding: 10px; |
227 |
234 |
font-size: 11pt; |
font-size: 11pt; |
228 |
235 |
vertical-align: top; |
vertical-align: top; |
|
... |
... |
legend { padding: 0px 2pt; } |
246 |
253 |
font-weight: bold; |
font-weight: bold; |
247 |
254 |
font-size: 13pt; |
font-size: 13pt; |
248 |
255 |
border: 0; |
border: 0; |
249 |
|
border-bottom: 2px solid #f00; |
|
|
256 |
|
border-bottom: 2px solid #a42a2a; |
|
257 |
|
color: white; |
250 |
258 |
} |
} |
251 |
259 |
|
|
252 |
260 |
.wh_plugins_list {} |
.wh_plugins_list {} |
|
... |
... |
legend { padding: 0px 2pt; } |
286 |
294 |
.cl-r { |
.cl-r { |
287 |
295 |
font-family: monospace; |
font-family: monospace; |
288 |
296 |
font-size: 9pt; |
font-size: 9pt; |
289 |
|
background-color: #f00; |
|
|
297 |
|
background-color: #4a1d1d; |
290 |
298 |
} |
} |
291 |
299 |
|
|
292 |
300 |
.cl-g { |
.cl-g { |
293 |
301 |
font-family: monospace; |
font-family: monospace; |
294 |
302 |
font-size: 9pt; |
font-size: 9pt; |
295 |
|
background-color: #0f0; |
|
|
303 |
|
background-color: #194119; |
296 |
304 |
} |
} |
297 |
305 |
|
|
298 |
306 |
.cl-e { |
.cl-e { |
299 |
307 |
font-family: monospace; |
font-family: monospace; |
300 |
308 |
font-size: 9pt; |
font-size: 9pt; |
301 |
|
background-color: #eee; |
|
|
309 |
|
background-color: #000; |
|
310 |
|
color: #b7b7b7; |
|
311 |
|
} |
|
312 |
|
|
|
313 |
|
.ccl-r { |
|
314 |
|
background-color: #4a1d1d; |
|
315 |
|
} |
|
316 |
|
|
|
317 |
|
.ccl-g { |
|
318 |
|
background-color: #194119; |
302 |
319 |
} |
} |
303 |
320 |
|
|
304 |
321 |
.repo_container { |
.repo_container { |
|
... |
... |
legend { padding: 0px 2pt; } |
315 |
332 |
color: #bbb; |
color: #bbb; |
316 |
333 |
} |
} |
317 |
334 |
.repo_title a { |
.repo_title a { |
318 |
|
color: #777; |
|
|
335 |
|
color: #b5840b; |
319 |
336 |
} |
} |
320 |
337 |
|
|
321 |
338 |
.repo_desc { |
.repo_desc { |
322 |
|
font-size: 10pt; |
|
|
339 |
|
font-size: 14pt; |
323 |
340 |
color: #888; |
color: #888; |
324 |
341 |
margin: 3px 0px; |
margin: 3px 0px; |
|
342 |
|
font-style: italic; |
325 |
343 |
} |
} |
326 |
344 |
|
|
327 |
345 |
.repo_body { |
.repo_body { |
|
... |
... |
legend { padding: 0px 2pt; } |
341 |
359 |
border: 1px solid #aaa; |
border: 1px solid #aaa; |
342 |
360 |
border-radius: 4px 4px 4px 4px; |
border-radius: 4px 4px 4px 4px; |
343 |
361 |
padding: 3px 3px; |
padding: 3px 3px; |
344 |
|
background-color: #e5e5ff; |
|
|
362 |
|
background-color: #565656; |
|
363 |
|
color: white; |
345 |
364 |
} |
} |
346 |
365 |
.url a { |
.url a { |
347 |
|
color: #666; |
|
|
366 |
|
color: #b5840a; |
348 |
367 |
} |
} |
349 |
368 |
|
|
350 |
369 |
.form_error { margin-top: 6pt; color: #f00; } |
.form_error { margin-top: 6pt; color: #f00; } |
|
... |
... |
legend { padding: 0px 2pt; } |
366 |
385 |
background-color: #a0d0ff; |
background-color: #a0d0ff; |
367 |
386 |
} |
} |
368 |
387 |
|
|
369 |
|
.searches { padding: 3px 0px; margin: 3px 0px; } |
|
|
388 |
|
. |
|
389 |
|
{ padding: 3px 0px; margin: 3px 0px; } |
370 |
390 |
.searches ul { list-style-type: none; } |
.searches ul { list-style-type: none; } |
371 |
391 |
.searches ul li { |
.searches ul li { |
372 |
392 |
display: inline; |
display: inline; |
373 |
393 |
padding: 3px 3px; |
padding: 3px 3px; |
374 |
394 |
color: #000; |
color: #000; |
375 |
|
border: 1px solid #aaa; |
|
|
395 |
|
border: 1px solid #ccc; |
376 |
396 |
border-radius: 4px 4px 4px 4px; |
border-radius: 4px 4px 4px 4px; |
377 |
397 |
font-size: 9pt; |
font-size: 9pt; |
378 |
|
background-color: #a0d0ff; |
|
|
398 |
|
background-color: #6e93b9; |
|
399 |
|
} |
|
400 |
|
.searches a { |
|
401 |
|
color: white; |
379 |
402 |
} |
} |
380 |
403 |
|
|
381 |
404 |
.hints { |
.hints { |
382 |
405 |
text-align: left; |
text-align: left; |
383 |
|
background-color: #fff; |
|
|
406 |
|
background-color: #2c2b2b; |
384 |
407 |
padding: 4pt; |
padding: 4pt; |
385 |
408 |
border-radius: 4px 4px 4px 4px; |
border-radius: 4px 4px 4px 4px; |
386 |
|
border: 1px solid #ccc; |
|
|
409 |
|
border: 1px solid #6e6e6e; |
387 |
410 |
font-size: 9pt; |
font-size: 9pt; |
388 |
411 |
box-shadow: 0px 2px 3px #666; |
box-shadow: 0px 2px 3px #666; |
389 |
412 |
align-self: stretch; |
align-self: stretch; |
|
... |
... |
legend { padding: 0px 2pt; } |
448 |
471 |
} |
} |
449 |
472 |
|
|
450 |
473 |
.error { |
.error { |
451 |
|
background-color: #f00; |
|
452 |
|
color: #000; |
|
|
474 |
|
background-color: #8a2727; |
|
475 |
|
color: #d5d5d5; |
453 |
476 |
} |
} |
454 |
477 |
|
|
455 |
478 |
.warning_text { |
.warning_text { |
|
... |
... |
legend { padding: 0px 2pt; } |
457 |
480 |
} |
} |
458 |
481 |
|
|
459 |
482 |
.warning { |
.warning { |
460 |
|
background-color: #ccc; |
|
461 |
|
border: 1px solid #f00; |
|
462 |
|
color: #f00; |
|
|
483 |
|
background-color: #212121; |
|
484 |
|
border: 1px solid #813030; |
|
485 |
|
color: #952525; |
463 |
486 |
} |
} |
464 |
487 |
|
|
465 |
488 |
.ok { |
.ok { |
466 |
|
background-color: #8f8; |
|
467 |
|
border: 1px solid #000; |
|
468 |
|
color: #000; |
|
|
489 |
|
background-color: #4e784e; |
|
490 |
|
border: 1px solid #4e784e; |
|
491 |
|
color: #fff; |
469 |
492 |
} |
} |
470 |
493 |
|
|
471 |
494 |
.page_title { |
.page_title { |
|
... |
... |
legend { padding: 0px 2pt; } |
483 |
506 |
} |
} |
484 |
507 |
|
|
485 |
508 |
.island, .island_wide { |
.island, .island_wide { |
486 |
|
border-radius: 4px 4px 4px 4px; |
|
|
509 |
|
/*! border-radius: 4px 4px 4px 4px; */ |
487 |
510 |
border: 1px solid #999; |
border: 1px solid #999; |
488 |
511 |
font-size: 13pt; |
font-size: 13pt; |
489 |
512 |
padding: 15px; |
padding: 15px; |
|
... |
... |
legend { padding: 0px 2pt; } |
497 |
520 |
} |
} |
498 |
521 |
|
|
499 |
522 |
.island_title { |
.island_title { |
500 |
|
color: #f00; |
|
|
523 |
|
color: #ad3b3b; |
501 |
524 |
font-size: 14pt; |
font-size: 14pt; |
502 |
525 |
font-weight: bold; |
font-weight: bold; |
503 |
526 |
padding-bottom: 9px; |
padding-bottom: 9px; |
|
... |
... |
legend { padding: 0px 2pt; } |
606 |
629 |
padding: 4px; |
padding: 4px; |
607 |
630 |
} |
} |
608 |
631 |
|
|
609 |
|
.compare { } |
|
|
632 |
|
. |
File root/themes/default/main.html changed (mode: 100644) (index 04b55ca..e750c80) |
1 |
1 |
<div class="islands"> |
<div class="islands"> |
2 |
|
<div class="island" style="background-color: #bbb; color: #fff; width: 100%"> |
|
|
2 |
|
<div class="island" style="width: 100%"> |
3 |
3 |
<div class="island_title island_title_big">Welcome to RocketGit!</div> |
<div class="island_title island_title_big">Welcome to RocketGit!</div> |
4 |
4 |
<span style="font-weight: bold; font-size: 16pt"> |
<span style="font-weight: bold; font-size: 16pt"> |
5 |
5 |
Free (as in speech and and as in beer) software |
Free (as in speech and and as in beer) software |
Hints:
How to merge on your machine?
git fetch origin refs/mr/1:mr-1
git checkout main
git merge mr-1
To "see" all the merge requests as branches,
add, in the config file (.git/config), under the remote you want,
a line like this:
fetch = +refs/mr/*:refs/remotes/your_remote_name_for_example_origin/mr/*
After you run a git fetch, you will have all the pull requests locally.
For example, you can merge one of them:
git checkout main
git merge mr/1