Subject | Hash | Author | Date (UTC) |
---|---|---|---|
Added git hosting solution comparison page | 8eca6c104373fd0dbcde54691edfd9e81a3a59be | Catalin(ux) M. BOIE | 2016-11-02 19:54:26 |
Be sure a key is present or use a default one (api) | 842d587f948ff4ec9de56e2ebfd591d96b066a43 | Catalin(ux) M. BOIE | 2016-10-13 22:45:51 |
Small correction in wording agains CLA | 70dc902b1c84e6ee416d7af2af8bef319dbb7504 | Catalin(ux) M. BOIE | 2016-10-11 15:50:07 |
Make it the default: word-wrap: break-word | 1512f51eba93b6dd296246bf20432ec9223148d9 | Catalin(ux) M. BOIE | 2016-10-08 07:53:19 |
Footer: reverse last two columns | d9fe4e8adf980996d5ca06387a0a2c49236e7ad4 | Catalin(ux) M. BOIE | 2016-10-08 07:51:55 |
Post configuration must include also web conf file | 3583e8915579dc8e4c9a508bac7998a3e612e501 | Catalin(ux) M. BOIE | 2016-10-08 07:50:00 |
ssl_request_log -> rocketgit-ssl_request_log | 639e5532748729cd8a6ac8e4cf082b24e15e2eeb | Catalin(ux) M. BOIE | 2016-10-08 07:47:45 |
Add 'SSLCipherSuite PROFILE=SYSTEM' to the SSL configuration | 100d73878b3da1718cf97c58d016ed182c690a9b | Catalin(ux) M. BOIE | 2016-10-08 06:33:09 |
Instruct login user to create a repo if she/he has none. | f6f2f438deadb1ec80d32acbc8947dcc849dca19 | Catalin(ux) M. BOIE | 2016-10-08 06:24:57 |
Small changes at vm docs | 8106a47f5bf89990ba7f7dbb0f8feb319ba4d883 | Catalin(ux) M. BOIE | 2016-10-05 03:32:37 |
No need to login to find out the ip address | 55a3abd3dda66d9d0dccdc0fc27dc3dc3e7c3fa1 | Catalin(ux) M. BOIE | 2016-10-05 03:25:47 |
Bump version to 0.62 | 61acc979d8c3bb629e03dc371bba1f604f300205 | Catalin(ux) M. BOIE | 2016-10-04 18:49:31 |
TODO updates | cc78fa90ebdb7605013f2ba40b7d196d708d7415 | Catalin(ux) M. BOIE | 2016-10-04 18:49:04 |
Allow php-fpm to use lock files and to regenerate authorized_keys file | 5970fcb677e3443ff96549413df105c9956f0abf | Catalin(ux) M. BOIE | 2016-10-04 18:48:35 |
Add ServerName and ServerAlias also for TLS virtual host | 08bf46f86137767e4432222475a3ea31034a132a | Catalin(ux) M. BOIE | 2016-10-04 18:47:47 |
Bump version to 0.61 | 99a6ed768168adf45bab328c7405cd10a3e3a81d | Catalin(ux) M. BOIE | 2016-10-03 16:31:43 |
TODO updates | cdc8de4255d6c343a9223bcf334228651e41ae6f | Catalin(ux) M. BOIE | 2016-10-03 16:31:22 |
Small adjustments to unit/functional tests | db54e9be71a96b185713ccbc76dff2b462113755 | Catalin(ux) M. BOIE | 2016-10-03 16:13:46 |
Allow the use of multiple workers | 0ba944fa4f60754b31ec29a676e72a9b870698cc | Catalin(ux) M. BOIE | 2016-10-03 16:13:15 |
Docker fixes | 36653f824b0c2f7159a0cdbfa50e38aea714a0b5 | Catalin(ux) M. BOIE | 2016-10-03 16:12:48 |
File | Lines added | Lines deleted |
---|---|---|
Compare.txt | 0 | 37 |
Makefile.in | 4 | 1 |
compare.csv | 37 | 0 |
inc/dispatch/dispatch.php | 8 | 3 |
misc/compare.php | 81 | 0 |
root/themes/default/.gitignore | 1 | 0 |
root/themes/default/index.html | 2 | 1 |
root/themes/default/main.css | 2 | 0 |
File Compare.txt deleted (index 6ef73b2..0000000) | |||
1 | RocketGit Gitlab GitHub Gitorious unfuddle.com gitolite Pagure.io | ||
2 | |||
3 | License Affero GPLv3+ OpenCore? Proprietary ?open ? ? ? | ||
4 | Needs CLA? No Yes! n/a ? ? ? ? | ||
5 | |||
6 | [Features] | ||
7 | Easy installation Yes No Yes? No! ? Yes No | ||
8 | SELinux friendly Yes ? ? ? ? ? ? | ||
9 | Distro friendly Yes No (see 2) No (see 2) No ? Yes No (see 2) | ||
10 | Bug tracker Yes Yes Yes No ? No ? | ||
11 | CLI commands (SSH) Yes ? ? ? ? ? ? | ||
12 | API Yes ? Yes ? ? ? ? | ||
13 | Anonymous push Yes ? No ? ? ? ? | ||
14 | Languages 1 ? ? ? ? ? ? | ||
15 | IPv6 Yes ? ? ? ? ? ? | ||
16 | Submodules ? ? ? ? ? ? ? | ||
17 | Usable with lynx ? ? ? ? ? ? ? | ||
18 | 2fa Yes ? Yes (see 1) ? ? ? ? | ||
19 | Web Hooks Yes Yes Yes ? ? No ? | ||
20 | Web Hooks - client certs Yes No No ? ? n/a ? | ||
21 | Web Hooks - auth server (CA cert) Yes No No ? ? n/a ? | ||
22 | |||
23 | [Rights] | ||
24 | Path control Yes ? ? ? ? ? ? | ||
25 | Refs control Yes ? ? ? ? ? ? | ||
26 | IP control Yes ? ? ? ? ? ? | ||
27 | |||
28 | |||
29 | [Details] | ||
30 | Language PHP Ruby+Perl Ruby Ruby ? Perl Python | ||
31 | Cache Custom Redis ? ? ? No ? | ||
32 | Database Postgres MySQL ? ? ? ? ? | ||
33 | Webserver Apache Nginx ? ? ? ? ? | ||
34 | |||
35 | |||
36 | 1) Seems is not really secure: if key is leaking, the attacker can push. | ||
37 | 2) They have a distro inside a distro; so, upgrading distro does not update the software (pip, gem etc.). |
File Makefile.in changed (mode: 100644) (index 9946568..49fb9ac) | |||
1 | 1 | .PHONY: all | .PHONY: all |
2 | all: selinux | ||
2 | all: selinux compare | ||
3 | 3 | ||
4 | 4 | .PHONY: selinux | .PHONY: selinux |
5 | 5 | selinux: | selinux: |
6 | 6 | @echo "Building SELinux..." | @echo "Building SELinux..." |
7 | 7 | cd selinux && ./build.sh | cd selinux && ./build.sh |
8 | 8 | ||
9 | compare: compare.csv | ||
10 | php misc/compare.php compare.csv root/themes/default/compare.html | ||
11 | |||
9 | 12 | .PHONY: clean | .PHONY: clean |
10 | 13 | clean: | clean: |
11 | 14 | make -C tests clean | make -C tests clean |
File compare.csv added (mode: 100644) (index 0000000..3bafaac) | |||
1 | "Features / Product",RocketGit,Gitlab CE,GitHub,Gitorious,unfuddle.com,gitolite,Pagure.io | ||
2 | [Legal],,,,,,, | ||
3 | License,Affero GPLv3+,OpenCore?,Proprietary,?open,?,?,? | ||
4 | Developers keep copyright (see 1),Yes,No,n/a,?,?,?,? | ||
5 | ,,,,,,, | ||
6 | [Features],,,,,,, | ||
7 | Easy installation,Yes,No,Yes?,No!,?,Yes,No | ||
8 | SELinux friendly,Yes,No,?,?,?,?,? | ||
9 | Distro friendly,Yes,No (see 2),No (see 2),No,?,Yes,No (see 2) | ||
10 | Bug tracker,Yes,Yes,Yes,No,?,No,? | ||
11 | CLI commands (SSH),Yes,?,?,?,?,?,? | ||
12 | API,Yes,Yes,Yes,?,?,?,? | ||
13 | Anonymous push,Yes,No,No,?,?,?,? | ||
14 | Languages available,1,?,?,?,?,?,? | ||
15 | IPv6,Yes,?,?,?,?,?,? | ||
16 | Submodules,?,?,?,?,?,?,? | ||
17 | Usable with lynx,Yes,Yes,Yes,?,?,n/a,Yes | ||
18 | 2fa,Yes,Yes,Yes (see 3),?,?,?,? | ||
19 | Web Hooks,Yes,Yes,Yes,?,?,No,? | ||
20 | Web Hooks - provide client certs,Yes,No,No,?,?,n/a,? | ||
21 | Web Hooks - authenticate server (CA cert),Yes,No,No,?,?,n/a,? | ||
22 | ,,,,,,, | ||
23 | [Rights],,,,,,, | ||
24 | Path control,Yes,?,?,?,?,?,? | ||
25 | Refs control,Yes,?,?,?,?,?,? | ||
26 | IP control,Yes,?,?,?,?,?,? | ||
27 | ,,,,,,, | ||
28 | [Details],,,,,,, | ||
29 | Language,PHP,Ruby+Perl,Ruby,Ruby,?,Perl,Python | ||
30 | Cache,Yes (custom),Yes (redis),?,?,?,n/a,? | ||
31 | Database,PostgreSQL,My/PostgresSQL,?,?,?,?,? | ||
32 | Webserver,Apache,apache/nginx,?,?,?,?,? | ||
33 | ,,,,,,, | ||
34 | [Notes],,,,,,, | ||
35 | "*","1) Signing a Contributor Licence Agreement (CLA) is very bad for free software.",,,,,, | ||
36 | "*","2) 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.",,,,,, | ||
37 | "*","3) Seems is not really secure: if key is leaking, the attacker can push.",,,,,, |
File inc/dispatch/dispatch.php changed (mode: 100644) (index 6a03b86..868d9e3) | |||
... | ... | case 'doc': | |
111 | 111 | $sec = array_shift($paras); | $sec = array_shift($paras); |
112 | 112 | switch ($sec) { | switch ($sec) { |
113 | 113 | case 'api': | case 'api': |
114 | $body .= rg_template('doc/api.html', $rg, | ||
115 | TRUE /* xss */); | ||
114 | $body .= rg_template('doc/api.html', $rg, TRUE /*xss*/); | ||
116 | 115 | break; | break; |
116 | |||
117 | 117 | case 'worker': | case 'worker': |
118 | 118 | $body .= rg_template('doc/worker.html', $rg, | $body .= rg_template('doc/worker.html', $rg, |
119 | TRUE /* xss */); | ||
119 | TRUE /*xss*/); | ||
120 | 120 | break; | break; |
121 | |||
121 | 122 | case 'demo': | case 'demo': |
122 | 123 | $body .= rg_demo($rg, $paras); | $body .= rg_demo($rg, $paras); |
123 | 124 | break; | break; |
125 | |||
126 | case 'compare': | ||
127 | $body .= rg_template('compare.html', $rg, TRUE /*xss*/); | ||
128 | break; | ||
124 | 129 | } | } |
125 | 130 | break; | break; |
126 | 131 |
File misc/compare.php added (mode: 100644) (index 0000000..c9360a0) | |||
1 | <?php | ||
2 | // Build the compare.html from compare.csv | ||
3 | // compare.csv is easy edited with LibreOffice | ||
4 | // compare.html gets included in the website | ||
5 | |||
6 | $INC = dirname(__FILE__) . '/../inc'; | ||
7 | require_once($INC . '/util.inc.php'); | ||
8 | |||
9 | $h = fopen($_SERVER['argv'][1], 'r'); | ||
10 | if (!$h) | ||
11 | die('Cannot open incput file!' . "\n"); | ||
12 | |||
13 | $out = fopen($_SERVER['argv'][2], 'w'); | ||
14 | if (!$out) | ||
15 | die('Cannot open out file!' . "\n"); | ||
16 | |||
17 | fwrite($out, '<div class="main_title">Git hosting solutions comparison</div>' . "\n"); | ||
18 | fwrite($out, '<table class="compare">' . "\n"); | ||
19 | |||
20 | $lineno = 1; | ||
21 | while (($line = fgetcsv($h, 4000, ',')) !== FALSE) { | ||
22 | if ($lineno == 1) { | ||
23 | // First line | ||
24 | $td = 'th'; | ||
25 | $rows = count($line); | ||
26 | } else { | ||
27 | $td = 'td'; | ||
28 | } | ||
29 | |||
30 | // Insert an empty line | ||
31 | if (empty($line[0])) { | ||
32 | fwrite($out, '<tr><' . $td . ' colspan="' | ||
33 | . $rows . '"> </' . $td . '></tr>' . "\n"); | ||
34 | continue; | ||
35 | } | ||
36 | |||
37 | if (empty($line[1])) { | ||
38 | // We have a chapter | ||
39 | $title = str_replace('[', '', $line[0]); | ||
40 | $title = str_replace(']', '', $title); | ||
41 | fwrite($out, | ||
42 | '<tr><' . $td . ' colspan="' . $rows . '">' | ||
43 | . '<b>' . rg_xss_safe($title) . '</b>' | ||
44 | . '</' . $td . '></tr>' . "\n"); | ||
45 | $lineno++; | ||
46 | continue; | ||
47 | } | ||
48 | |||
49 | // Notes | ||
50 | if (strcmp($line[0], '*') == 0) { | ||
51 | fwrite($out, | ||
52 | '<tr><' . $td . ' colspan="' . $rows . '">' | ||
53 | . rg_xss_safe($line[1]) | ||
54 | . '</' . $td . '></tr>' . "\n"); | ||
55 | continue; | ||
56 | } | ||
57 | |||
58 | fwrite($out, '<tr>'); | ||
59 | foreach ($line as $i => $f) { | ||
60 | if ($i == 0) | ||
61 | $color = ''; | ||
62 | else if (stristr($f, 'no')) | ||
63 | $color = ' bgcolor="#f00"'; | ||
64 | else if (stristr($f, 'yes')) | ||
65 | $color = ' bgcolor="#0f0"'; | ||
66 | else | ||
67 | $color = ''; | ||
68 | |||
69 | fwrite($out, | ||
70 | '<' . $td . $color . '>' | ||
71 | . rg_xss_safe($f) | ||
72 | . '</' . $td . '>'); | ||
73 | } | ||
74 | fwrite($out, '</tr>' . "\n"); | ||
75 | $lineno++; | ||
76 | } | ||
77 | fwrite($out, '</table>' . "\n"); | ||
78 | fclose($out); | ||
79 | fclose($h); | ||
80 | |||
81 | ?> |
File root/themes/default/.gitignore added (mode: 100644) (index 0000000..ff53649) | |||
1 | compare.html |
File root/themes/default/index.html changed (mode: 100644) (index 3c0bbb2..65d058f) | |||
57 | 57 | ||
58 | 58 | <div class="footer_info"> | <div class="footer_info"> |
59 | 59 | <a href="/op/doc/demo">Tutorials</a><br /> | <a href="/op/doc/demo">Tutorials</a><br /> |
60 | <a href="/op/doc/api">API</a> | ||
60 | <a href="/op/doc/api">API</a><br /> | ||
61 | <a href="/op/doc/compare">Compare</a> | ||
61 | 62 | </div> | </div> |
62 | 63 | ||
63 | 64 | <div class="footer_info"> | <div class="footer_info"> |
File root/themes/default/main.css changed (mode: 100644) (index cddd368..167fe1e) | |||
... | ... | legend { padding: 0px 2pt; } | |
599 | 599 | .nav span { | .nav span { |
600 | 600 | padding: 4px; | padding: 4px; |
601 | 601 | } | } |
602 | |||
603 | .compare { } |