List of commits:
Subject Hash Author Date (UTC)
TODO updates, log last webhook output 24895c5ccb8c47315bd6897f2a60f9c8c3b3d6b1 Catalin(ux) M. BOIE 2015-12-06 17:04:56
keys: add some caching and prevent updating first_use if not necessary 35a152bc27fb1791f3f9d8ad1287c3847ed334a1 Catalin(ux) M. BOIE 2015-12-05 17:21:19
Deal correctly with cache regarding last_bug_id 705351cdea6af55f9dd61de0d85d41b8ac33fc88 Catalin(ux) M. BOIE 2015-12-03 21:01:08
Settle to Affero GPLv3+ 679d4032059256a01610e65cbff5496d32d9fc7d Catalin(ux) M. BOIE 2015-12-03 19:40:12
Missing Affero dee2c08fc8a0371ac37f6f00bf7f3e2e01f92e92 Catalin(ux) M. BOIE 2015-12-03 19:36:10
DO not show 2fa hint for a visiting user 4ff8837ef0f45572592f1d81724737b3732a046a Catalin(ux) M. BOIE 2015-12-03 17:25:24
Let the user choose the e-mail, no defaults should be suggested 09450741613a407c09bb465bff8a3c19c565df9a Catalin(ux) M. BOIE 2015-12-02 18:12:08
Pass uid for all events; more fixes for unit tests 866e43baf739ae7072949559d1c7e089c086af76 Catalin(ux) M. BOIE 2015-11-19 19:28:26
404 http error was receive for showing blobs ending in .php or .html ff87d956360a86e88a751d4c391585c84bb1e132 Catalin(ux) M. BOIE 2015-11-18 20:32:50
When creating an array, last_bug_id is set now correctly f679840c7ac3879aae69f488c561a5bd73ce71f1 Catalin(ux) M. BOIE 2015-11-18 19:14:48
We allow empty description for bugs c5a1b4057963eac575cc3d0d4872c4519fea80b0 Catalin(ux) M. BOIE 2015-11-18 18:26:39
Show the repo # on main repo page c72f4d8627ab577a92c5531ed7afb9e55a6bfd1b Catalin(ux) M. BOIE 2015-11-18 18:25:00
Bumped version to 0.42 8e9fab68ff08040402c0aa25539d1e8b29258f7d Catalin(ux) M. BOIE 2015-11-18 18:14:40
Renamed the virtual machines files 040c9f3a87826a52713b3b5f48d19c83236f8aa8 Catalin(ux) M. BOIE 2015-11-18 18:13:57
Admin user must not confirm the account by e-mail 0a81a2824087d9dcd2d1981c860946fd49cc8bf7 Catalin(ux) M. BOIE 2015-11-18 18:04:26
Bump the version to 0.41 363368555480d4c79c13867805c59541fd59e37c Catalin(ux) M. BOIE 2015-11-18 16:37:16
Mostly debug signaling by cache 2cd13a1f01403ebe733ef64ff2446b93e2cd46af Catalin(ux) M. BOIE 2015-11-18 16:36:40
Only texts changes. 37b6e035a5027c99a8b21672cef5431673320892 Catalin(ux) M. BOIE 2015-11-17 17:58:52
webhooks fixes 422d74f1cd4133e73ceb3edbb7a7da6d48c102f2 Catalin(ux) M. BOIE 2015-11-17 15:53:10
Checkpoint: ip/user fixes for remote connections, some pull request fixes and unit test start c8ac332f2ffda6149048dd17eaef8ff2f2920650 Catalin(ux) M. BOIE 2015-11-07 05:30:04
Commit 24895c5ccb8c47315bd6897f2a60f9c8c3b3d6b1 - TODO updates, log last webhook output
Author: Catalin(ux) M. BOIE
Author date (UTC): 2015-12-06 17:04
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2015-12-06 17:04
Parent(s): 35a152bc27fb1791f3f9d8ad1287c3847ed334a1
Signer:
Signing key:
Signing status: N
Tree: 3c55fdcf92b6ca8f11cbbdd3435511a297890a44
File Lines added Lines deleted
AUTHORS 1 0
History.txt 1 0
TODO 56 16
inc/keys.inc.php 1 1
inc/struct.inc.php 4 1
inc/user/repo-page.php 1 1
inc/user/repo/bug/show/show.php 1 1
inc/webhooks.inc.php 53 9
root/index.php 1 1
root/themes/default/download-vm.html 1 0
root/themes/default/main.css 0 8
root/themes/default/main.html 3 2
root/themes/default/repo/log/line.html 1 1
root/themes/default/user/settings/wh/list/header.html 1 0
root/themes/default/user/settings/wh/list/line.html 1 0
techdocs/cache.txt 15 0
tests/ca.sh 0 2
tests/cache.php 1 0
File AUTHORS changed (mode: 100644) (index 08460cb..0168aab)
... ... Bogdan Vatra
10 10 James Dean James Dean
11 11 Seby Marinescu (VMware ESX help) Seby Marinescu (VMware ESX help)
12 12 Paul Gabor-Iliescu Paul Gabor-Iliescu
13 Gabi Balasz
File History.txt changed (mode: 100644) (index 5ac9bb6..0a7a539)
4 4 2015-03-04 - Gitorious acquired by Gitlab 2015-03-04 - Gitorious acquired by Gitlab
5 5 2015-03-13 - Google Code closing the gates. 2015-03-13 - Google Code closing the gates.
6 6 2015-11-18 - rocketgit 0.42 installed on rocketgit.com 2015-11-18 - rocketgit 0.42 installed on rocketgit.com
7 2015-12-02 - RocketGit is announced to 40 people (friends) (time: 20:56:00)
File TODO changed (mode: 100644) (index 5013ef2..6d8ef97)
2 2 [ ] [ ]
3 3
4 4 == BEFORE NEXT RELEASE == == BEFORE NEXT RELEASE ==
5 [ ] "Do not verify the certificate" - not clear which cert!
6 [ ] wh: at push time the triggers are not called!
7 [ ] Auto subscribe users to blog, but allow them to unsubscribe from e-mail.
8 [ ] Do a small tutorial on how you can create themes (Gabi).
9 [ ] rate another repo (Gabi)
10 [ ] suggestions: at least notify by e-mail.
11 [ ] For pull request by anon push, add a button to send an e-mail with an
12 authorization code to be able to destroy/edit pr.
13 The e-mail can be taken from commits.
14 Maybe we should reject pr with wrong e-mail addresses?
15 [ ] For public repos, we should activate by default anonymous push
16 and teach user how to disable it.
17 [ ] When a php script exists, check that every db res was freed!
18 I found one case in keys.inc.php!
19 [ ] Mark in cache that we updated first use to not update it too often.
20 [ ] Keep in history also the fetches?
21 [ ] When showing files, show total number of lines, size in bytes, type,
22 button for download, history, blame, printable, history.
23 [ ] Suggest 4096 bits RSA keys instead of 2048.
24 [ ] https://rocketgit.com/user/user/repo/source/log
25 We may want to transform the author into a link to rocketgit user page.
26 [ ] Binary files show wrong on "Tree" menu.
27 Example: https://rocketgit.com/user/catalinux/rocketgit/source/tree/blob/root/favicon.ico
28 [ ] Landing page: As pune accesul spre rutina de inscriere mai sus, in
29 loc de cinste, si explicatiile mai jos, pentru cei care nu stiu
30 inca de site si de ce face el (Paul).
31 [ ] Pricing: as face box-ul cu paid support cu o slightly alta culoare
32 ca alea mai free, care ar fi bine sa fie mai vizibile. (Paul)
33 [ ] Link to a resource to learn more about Git (Paul)
34 https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
35 [ ] Si mai zi si ca apreciezi ajutorul dat pentru traducerea site-ului
36 in alte limbi (Paul).
37 [ ] Lightest: eu inteleg prin light ceva mai soft, asa, ai usurel si
38 nu foarte profund; as folosi 'highly professional, yet
39 super-lightweight' (Paul)
40 [ ] AS LASA BARA CU MENIUL GLOBAL MEREU VIZIBILA, SUS (Paul)
41 I hope it will work only with css, else I will not do it.
42 [ ] Tonurile sunt foarte apropiate si e greu de urmarit si greu de citi,
43 de-a dreptul (Paul).
44 [ ] Redo favicon.ico with 3 layes, 16x16, 32x32, 48x48 (Paul).
45 [ ] Add possibility to change the time reporting (selecting a timezone) (Paul)
46 [ ] When repo changes, seems we do not send by email what changed.
47 [ ] What is "Non fast-forwards" - document in hints.
48 [ ] ip: comma/space: not ENTER?
49 [ ] admin: button to pause events processing. and a reason?
50 [ ] pr: Add 'reviewers' to a pull request.
51 [ ] Set a timezone if not set to avoid stupid php warnings.
52 [ ] Add a second part, documenting php-fpm.
5 53 [ ] Paul: Notify all users (watchers and maybe the ones that had access) [ ] Paul: Notify all users (watchers and maybe the ones that had access)
6 54 that a repo was deleted. that a repo was deleted.
7 55 [ ] Paul: Add (per project) an "invite" form. The user receiving the e-mail [ ] Paul: Add (per project) an "invite" form. The user receiving the e-mail
 
12 60 [ ] Add phone number for security reasons (if user lost 2fa device etc.) [ ] Add phone number for security reasons (if user lost 2fa device etc.)
13 61 [ ] Clicking "Discovery" and no repo is present should not invite the user [ ] Clicking "Discovery" and no repo is present should not invite the user
14 62 to create one... to create one...
15 [ ] css: #profiling still used?
16 63 [ ] Obsolete 'suggestions' and replace them with a link to the bug tracker. [ ] Obsolete 'suggestions' and replace them with a link to the bug tracker.
17 64 [ ] wh: operation ('event') is not present in the post request! [ ] wh: operation ('event') is not present in the post request!
18 65 [ ] Alert admin on any problems (for example if authorized_keys is not [ ] Alert admin on any problems (for example if authorized_keys is not
 
21 68 and, because of ssl caching, will be able to post the notification and, because of ssl caching, will be able to post the notification
22 69 to the victim's server. In C I will be able to use to the victim's server. In C I will be able to use
23 70 CURLOPT_SSL_SESSIONID_CACHE = 0. CURLOPT_SSL_SESSIONID_CACHE = 0.
24 [ ] Add a signing key for webhooks to compute a HMAC.
25 71 [ ] events: add more "threads", so one webhook (for example) [ ] events: add more "threads", so one webhook (for example)
26 will not block all request. Use a pool with a configurable
72 will not block all requests. Use a pool with a configurable
27 73 number of workers. number of workers.
28 [ ] tests: if rg_debug == 1 and a test fails, do not retry it!
29 Maybe also delete it from 'events' table?
30 74 [ ] pr: Allow to add a pr even if the repo is not hosted on rocketgit. [ ] pr: Allow to add a pr even if the repo is not hosted on rocketgit.
31 75 For example, somebody can create a pull request specifying For example, somebody can create a pull request specifying
32 76 an external url and src/dst branch! an external url and src/dst branch!
 
44 88 Seems I need to replace rg_mr_queue_add with rg_mr_create. Seems I need to replace rg_mr_queue_add with rg_mr_create.
45 89 Cron loads merge requests from files and calls mr_queue_add. Cron loads merge requests from files and calls mr_queue_add.
46 90 [ ] Add avatars for notes and bugs. [ ] Add avatars for notes and bugs.
47 [ ] Allow an admin to run extra hooks by adding them info
48 /var/lib/rocketgit/extra_hooks/{update,post-receive,...}/
91 [ ] Allow an admin to run extra hooks by adding _them_ info
92 /var/lib/rocketgit/extra_hooks/{update,post-receive,...}/ folder.
49 93 [ ] check 'man git-receive-pack' for gpg (about signed pushes). [ ] check 'man git-receive-pack' for gpg (about signed pushes).
50 [ ] I still have to investigate if I can send git messages.
94 [ ] I still have to investigate if I can send git meta messages.
51 95 Not in hooks, but at start. I want to send the welcome message. Not in hooks, but at start. I want to send the welcome message.
52 96 [ ] After pushing using anon-push feature, give to the user a link to be able [ ] After pushing using anon-push feature, give to the user a link to be able
53 97 to add a proper subject/body. Else, use the first commit for this. to add a proper subject/body. Else, use the first commit for this.
 
103 147 pr = "!f() { git fetch -fu ${2:-origin} refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f" pr = "!f() { git fetch -fu ${2:-origin} refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f"
104 148 [ ] Need to add comments for pull requests. Find a way to propagate them in the [ ] Need to add comments for pull requests. Find a way to propagate them in the
105 149 git repo? git repo?
106 [ ] Because I show the merge request id, somebody can change the commits.
150 [ ] Because I show the pull request id, somebody can change the commits.
107 151 Somehow, it should be locked? Somehow, it should be locked?
108 152 [ ] Add "Pull request" and allow a user to do it from a branch or a fork. [ ] Add "Pull request" and allow a user to do it from a branch or a fork.
109 153 [ ] When a push is taking place, add the repo into a new table to: [ ] When a push is taking place, add the repo into a new table to:
110 154 - recalculate disk space - recalculate disk space
111 155 - redo the stats - redo the stats
112 [ ] Look into Travis
156 [ ] Look into making a open source project like travis-ci.org.
157 Seems is GitHub locked (you need an GitHub account)!
113 158 [ ] Add a prefetched daemon. Example: When user logins, prefetch repo info [ ] Add a prefetched daemon. Example: When user logins, prefetch repo info
114 159 to be warm in cache. The user for sure will access the repos. to be warm in cache. The user for sure will access the repos.
115 160 Maybe set a permanent cookie to encode the uid and when a user visits Maybe set a permanent cookie to encode the uid and when a user visits
 
129 174 may want to know. I think I will drop this for now. may want to know. I think I will drop this for now.
130 175 [ ] Send an e-mail if webhook fails? Flag when configuring webhook? [ ] Send an e-mail if webhook fails? Flag when configuring webhook?
131 176 Store the last curl log in 'wh' table? Store the last curl log in 'wh' table?
132 [ ] unit test: generate a CA, client cert, server cert, and use openssl
133 s_server to test? Or maybe curl in mode server? Or php in listen
134 mode?
135 177 [ ] Clean 'tmp' folder. [ ] Clean 'tmp' folder.
136 178 [ ] Document webhooks, mostly 'PHP serialize' type. But also other things. [ ] Document webhooks, mostly 'PHP serialize' type. But also other things.
137 179 [ ] Do not forget that cache.php has its own memory cache! [ ] Do not forget that cache.php has its own memory cache!
 
148 190 [ ] When I am in "My repositories" and I am doing a search, other users' [ ] When I am in "My repositories" and I am doing a search, other users'
149 191 repositories are shown. repositories are shown.
150 192 [ ] In user/home-page.php, in hints section, add a message when the user is [ ] In user/home-page.php, in hints section, add a message when the user is
151 low on scratch codes. Not hint.
193 low on scratch codes. Not hint. Or, notify by e-mail?
152 194 [ ] test with "short" (0 prepended) codes in unit testing. [ ] test with "short" (0 prepended) codes in unit testing.
153 195 For scs, done, test for devices? This is a little bit harder. For scs, done, test for devices? This is a little bit harder.
154 196 [ ] totp:ssh: do we need a command to remove a set of scratch codes? [ ] totp:ssh: do we need a command to remove a set of scratch codes?
155 197 Something like 'remove-sc [<itime>]'. If <itime> is missing, list the Something like 'remove-sc [<itime>]'. If <itime> is missing, list the
156 198 sets. The IP must be authorized? sets. The IP must be authorized?
157 [ ] In report, just show the newly added repos, not the totals. Totals in body.
158 199 [ ] Apply to become a member of Software Freedom Conservancy? [ ] Apply to become a member of Software Freedom Conservancy?
159 [ ] Why do we have an index by 'users.username'?! Seems wrong!
160 200 [ ] totp: add sc for ssh! [ ] totp: add sc for ssh!
161 201 Should I validate one after asking the user to store them safe? Should I validate one after asking the user to store them safe?
162 202 Think about power down before scratch codes hit the printer. Think about power down before scratch codes hit the printer.
File inc/keys.inc.php changed (mode: 100644) (index 5fa6c69..2672b43)
... ... function rg_keys_list($db, $ui)
676 676 else else
677 677 $t['last_use'] = gmdate("Y-m-d H:i", $row['last_use']); $t['last_use'] = gmdate("Y-m-d H:i", $row['last_use']);
678 678
679 if (empty($t['last_cmd']))
679 if (empty($row['last_cmd']))
680 680 $t['last_cmd'] = "N/A"; $t['last_cmd'] = "N/A";
681 681 else else
682 682 $t['last_cmd'] = $row['last_cmd']; $t['last_cmd'] = $row['last_cmd'];
File inc/struct.inc.php changed (mode: 100644) (index f567bb2..8eeffec)
... ... $rg_sql_struct[36]['tables'] = array();
486 486 $rg_sql_struct[36]['other'] = array( $rg_sql_struct[36]['other'] = array(
487 487 'users drop double unique constriaint' => 'users drop double unique constriaint' =>
488 488 "ALTER TABLE users DROP CONSTRAINT users_username_key", "ALTER TABLE users DROP CONSTRAINT users_username_key",
489 'last_cmd' => "ALTER TABLE keys ADD last_cmd TEXT NOT NULL DEFAULT ''"
489 'last_cmd' =>
490 "ALTER TABLE keys ADD last_cmd TEXT NOT NULL DEFAULT ''",
491 'wh_last_output' =>
492 "ALTER TABLE webhooks ADD last_output TEXT NOT NULL DEFAULT ''"
490 493 ); );
491 494
492 495 // This must be the last line // This must be the last line
File inc/user/repo-page.php changed (mode: 100644) (index 23b8358..e7f2d16)
... ... rg_log("FILE: /inc/user/repo-page");
4 4 $_repo_page = ""; $_repo_page = "";
5 5
6 6 if (rg_user_ok($user) !== TRUE) { if (rg_user_ok($user) !== TRUE) {
7 $_repo_page .= rg_error("Invalid user!");
7 $_repo_page .= rg_warning("Invalid user!");
8 8 return; return;
9 9 } }
10 10 $rg['page_ui'] = rg_user_info($db, 0, $user, ""); $rg['page_ui'] = rg_user_info($db, 0, $user, "");
File inc/user/repo/bug/show/show.php changed (mode: 100644) (index 98005dd..29082f0)
... ... if ($watch === FALSE) {
129 129 break; break;
130 130
131 131 if (rg_var_uint('watch') == $watch) { if (rg_var_uint('watch') == $watch) {
132 rg_log('Already in propoer state');
132 rg_log('Already in proper state');
133 133 break; break;
134 134 } }
135 135
File inc/webhooks.inc.php changed (mode: 100644) (index 29610f0..4dee10c)
... ... function rg_wh_send_one($db, $event)
130 130 break; break;
131 131 } }
132 132
133 $xerr = &$r;
133 134 rg_log_ml('Answer: ' . print_r($r, TRUE)); rg_log_ml('Answer: ' . print_r($r, TRUE));
134 135
135 136 if ($event['debug'] == 1) if ($event['debug'] == 1)
 
... ... function rg_wh_send_one($db, $event)
149 150 if ($ca_file !== FALSE) if ($ca_file !== FALSE)
150 151 @unlink($ca_file); @unlink($ca_file);
151 152
153 rg_wh_set_last_output($db, $event['ui']['uid'], $wh['id'],
154 substr($xerr, 0, 4096));
155
152 156 rg_prof_end('wh_send_helper'); rg_prof_end('wh_send_helper');
153 157 return $ret; return $ret;
154 158 } }
 
... ... function rg_wh_send($db, $event)
170 174 // Filter them by repo_id // Filter them by repo_id
171 175 $real_list = array(); $real_list = array();
172 176 foreach ($r['list'] as $id => $info) { foreach ($r['list'] as $id => $info) {
173 if (($info['repo_id'] != 0)
177 if (($info['repo_id'] > 0)
174 178 && ($event['ri']['repo_id'] != $info['repo_id'])) { && ($event['ri']['repo_id'] != $info['repo_id'])) {
175 179 rg_log('hook is not for this repo'); rg_log('hook is not for this repo');
176 180 continue; continue;
 
... ... function rg_wh_events($events)
313 317 } }
314 318
315 319 $rg_wh_flags = array( $rg_wh_flags = array(
316 'I' => 'Do not verify the certificate',
317 'H' => 'Do not verify the hostname'
320 'I' => 'Do not verify the server certificate',
321 'H' => 'Do not verify the server hostname'
318 322 ); );
319 323 /* /*
320 324 * Generates flags list * Generates flags list
 
... ... function rg_wh_cosmetic(&$list)
391 395 $row['HTML:client_ca_cert_short'] = $row['HTML:client_ca_cert_short'] =
392 396 empty($row['client_ca_cert']) ? empty($row['client_ca_cert']) ?
393 397 '' : nl2br(rg_xss_safe(substr($row['client_ca_cert'], 0, 32))) . '...'; '' : nl2br(rg_xss_safe(substr($row['client_ca_cert'], 0, 32))) . '...';
398
399 if (isset($row['last_output']))
400 $row['HTML:last_output_nice'] =
401 nl2br(rg_xss_safe($row['last_output']));
394 402 } }
395 403 } }
396 404
405 /*
406 * Set last_output field of a webhook
407 */
408 function rg_wh_set_last_output($db, $uid, $id, $output)
409 {
410 rg_prof_start('wh_set_last_output');
411 rg_log_enter('wh_set_last_output id=$id');
412
413 $ret = FALSE;
414 while (1) {
415 $params = array('id' => $id, 'last_output' => $output);
416 $sql = 'UPDATE webhooks'
417 . ' SET last_output = @@last_output@@'
418 . ' WHERE id = @@id@@';
419 $res = rg_sql_query_params($db, $sql, $params);
420 if ($res === FALSE) {
421 rg_wh_set_error('cannot insert/update data');
422 break;
423 }
424 rg_sql_free_result($res);
425
426 $key = 'user' . '::' . $uid . '::' . 'wh' . '::' . 'list'
427 . '::' . $id . '::' . 'last_output';
428 rg_cache_set($key, $output, RG_SOCKET_NO_WAIT);
429
430 $ret = TRUE;
431 break;
432 }
433
434 rg_log_exit();
435 rg_prof_end('wh_set_last_output');
436 return $ret;
437 }
438
397 439 /* /*
398 440 * Returns a list of webhooks associated with a user * Returns a list of webhooks associated with a user
399 441 * @repo_id may be 0 => hooks installed on user account * @repo_id may be 0 => hooks installed on user account
 
... ... function rg_wh_list($db, $uid)
407 449 while (1) { while (1) {
408 450 $key = 'user' . '::' . $uid . '::' . 'wh'; $key = 'user' . '::' . $uid . '::' . 'wh';
409 451 $r = rg_cache_get($key); $r = rg_cache_get($key);
410 if ($r !== FALSE) {
411 $ret['list'] = $r;
452 if (($r !== FALSE) && isset($r['LIST_LOADED'])) {
453 $ret['list'] = $r['list'];
412 454 $ret['ok'] = 1; $ret['ok'] = 1;
413 455 break; break;
414 456 } }
 
... ... function rg_wh_list($db, $uid)
429 471 } }
430 472 rg_sql_free_result($res); rg_sql_free_result($res);
431 473
432 rg_cache_set($key, $ret['list'], RG_SOCKET_NO_WAIT);
474 $a = array('LIST_LOADED' => 1, 'list' => $ret['list']);
475 rg_cache_merge($key, $a, RG_SOCKET_NO_WAIT);
433 476 $ret['ok'] = 1; $ret['ok'] = 1;
434 477 break; break;
435 478 } }
 
... ... function rg_wh_add($db, $uid, $data)
487 530
488 531 if ($data['id'] == 0) if ($data['id'] == 0)
489 532 $params['id'] = $row['id']; $params['id'] = $row['id'];
490 $key = 'user' . '::' . $uid . '::' . 'wh'
533 $key = 'user' . '::' . $uid . '::' . 'wh' . '::' . 'list'
491 534 . '::' . $params['id']; . '::' . $params['id'];
492 rg_cache_set($key, $params, RG_SOCKET_NO_WAIT);
535 rg_cache_merge($key, $params, RG_SOCKET_NO_WAIT);
493 536
494 537 $ret['ok'] = 1; $ret['ok'] = 1;
495 538 break; break;
 
... ... function rg_wh_remove($db, $uid, $list)
533 576 rg_sql_free_result($res); rg_sql_free_result($res);
534 577
535 578 foreach ($my_list as $junk => $id) { foreach ($my_list as $junk => $id) {
536 $key = 'user' . '::' . $uid . '::' . 'wh' . '::' . $id;
579 $key = 'user' . '::' . $uid . '::' . 'wh'
580 . '::' . 'list' . '::' . $id;
537 581 rg_cache_unset($key, RG_SOCKET_NO_WAIT); rg_cache_unset($key, RG_SOCKET_NO_WAIT);
538 582 } }
539 583
File root/index.php changed (mode: 100644) (index d29d3b0..45b3b17)
... ... $rg['debug'] = rg_var_uint('rg_debug');
53 53
54 54 // We have variable 'vv' passed from webserver - build 'op' and rest of paras // We have variable 'vv' passed from webserver - build 'op' and rest of paras
55 55 $sparas = rg_var_str("vv"); $sparas = rg_var_str("vv");
56 rg_log("DEBUG: sparas=$sparas.");
56 rg_log("DEBUG: sparas=$sparas");
57 57 $rg['url'] = "/op"; $rg['url'] = "/op";
58 58 $paras = explode("/", trim($sparas, "/")); $paras = explode("/", trim($sparas, "/"));
59 59 $_t = empty($paras) ? "" : $paras[0]; $_t = empty($paras) ? "" : $paras[0];
File root/themes/default/download-vm.html changed (mode: 100644) (index b874eae..9187043)
244 244 <div class="island_title">Common section for all virtualization solutions</div> <div class="island_title">Common section for all virtualization solutions</div>
245 245
246 246 You must check the following list because you may want to:<br /> You must check the following list because you may want to:<br />
247 * set the machine to auto boot at host start<br />
247 248 * generate new SSL/TLS keys<br /> * generate new SSL/TLS keys<br />
248 249 * add the vm in the update plan (periodic 'yum update')<br /> * add the vm in the update plan (periodic 'yum update')<br />
249 250 * run timedatectl set-timezone 'Continent/City' to set the timezone * run timedatectl set-timezone 'Continent/City' to set the timezone
File root/themes/default/main.css changed (mode: 100644) (index 6134ee0..5fb57fc)
... ... legend { padding: 0px 2pt; }
264 264 border-bottom: 2px solid #999998; border-bottom: 2px solid #999998;
265 265 } }
266 266
267 #profiling {
268 border-top: 1px solid #cccccc;
269 padding: 5px 5px;
270 border-bottom: 1px solid #cccccc;
271 font-size: 8pt;
272 overflow: hidden;
273 }
274
275 267 .rg_keys_list { .rg_keys_list {
276 268 margin-top: 20px; margin-top: 20px;
277 269 } }
File root/themes/default/main.html changed (mode: 100644) (index 66e0003..fa96b45)
4 4 <div class="island" style="background-color: #aaa; color: #fff"> <div class="island" style="background-color: #aaa; color: #fff">
5 5 <div class="island_title">Welcome to RocketGit!</div> <div class="island_title">Welcome to RocketGit!</div>
6 6 <span style="font-weight: bold; font-size: 16pt"> <span style="font-weight: bold; font-size: 16pt">
7 FLOS (Free, Libre and Open-Source) software for managing Git
8 projects, both public and private.
7 FLOS (Free, Libre and Open-Source) software for managing
8 <a href="https://git-scm.com/" target="_blank">Git</a> projects,
9 both public and private.
9 10 <span style="color: red">Beta</span> <span style="color: red">Beta</span>
10 11 </span> </span>
11 12 </div> </div>
File root/themes/default/repo/log/line.html changed (mode: 100644) (index 4cd08d1..0316e34)
1 1 <tr> <tr>
2 2 <td>@@subject@@</td> <td>@@subject@@</td>
3 3 <td><a href="@@if("@@commit_url@@" != ""){{@@commit_url@@}}{{@@url_repo@@/source/log/commit/@@sha1_short@@}}">@@sha1_short@@</a></td> <td><a href="@@if("@@commit_url@@" != ""){{@@commit_url@@}}{{@@url_repo@@/source/log/commit/@@sha1_short@@}}">@@sha1_short@@</a></td>
4 <td>@@author name@@ (@@author email@@)</td>
4 <td>@@author name@@</td>
5 5 <td>@@author date UTC@@</td> <td>@@author date UTC@@</td>
6 6 </tr> </tr>
File root/themes/default/user/settings/wh/list/header.html changed (mode: 100644) (index 1a91665..f73ac84)
18 18 <th>Type</th> <th>Type</th>
19 19 <th>Flags</th> <th>Flags</th>
20 20 <th>Add IP</th> <th>Add IP</th>
21 <th>Last output</th>
21 22 </tr> </tr>
File root/themes/default/user/settings/wh/list/line.html changed (mode: 100644) (index 36181e6..e1db639)
9 9 <td>@@type_text@@</td> <td>@@type_text@@</td>
10 10 <td>@@flags_text@@</td> <td>@@flags_text@@</td>
11 11 <td>@@add_ip@@</td> <td>@@add_ip@@</td>
12 <td><small>@@last_output_nice@@</small></td>
12 13 </tr> </tr>
File techdocs/cache.txt changed (mode: 100644) (index e69de29..4a5fdfc)
1 == Cache hierarchy ==
2
3 state $var
4
5 user $uid
6 info
7 keys $key_id
8 wh $wh_id
9
10 username_to_uid $username
11
12 repo_by_name $repo_name
13
14 rights_by_obj_id $repo_id repo_refs
15
File tests/ca.sh changed (mode: 100755) (index 3a8ff3c..af0a7be)
... ... if [ -z "${1}" ]; then
11 11 exit 1 exit 1
12 12 fi fi
13 13
14 ca_conf=${PWD}/ca.conf
15
16 14 mkdir -p "ca/${1}" mkdir -p "ca/${1}"
17 15 cd "ca/${1}" cd "ca/${1}"
18 16
File tests/cache.php changed (mode: 100644) (index 69233f4..9eb6c2c)
... ... if ($r !== 'A') {
108 108 exit(1); exit(1);
109 109 } }
110 110
111
111 112 rg_log("OK!"); rg_log("OK!");
112 113 ?> ?>
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/rocketgit

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main