List of commits:
Subject Hash Author Date (UTC)
Manually free memory to improve performance d6b93c1dc2aef248fba8d5f4a34e57ad3433f82f Catalin(ux) M. BOIE 2017-06-09 17:37:37
Add a random id to all requests to be able to identify them in the logs 1a487eb279fb2f77db64dbee1b2c1067b548899b Catalin(ux) M. BOIE 2017-05-29 17:09:20
Docker improvements and 'make docker' to easy testing 2171599842a90282c24845d41965ef6f7893342c Catalin(ux) M. BOIE 2017-05-28 10:09:21
Improved apache sample configuration de04d409f25a6f5d1fe304069753144c17c4f631 Catalin(ux) M. BOIE 2017-05-28 10:07:47
Use the database only after we setup the connection 26487d0f17f510d26ef182b6c0938022b0730752 Catalin(ux) M. BOIE 2017-05-25 16:39:53
Bump version to 0.68 02b4708f1cdad67a810f7f1808364774e8ac4831 Catalin(ux) M. BOIE 2017-05-25 14:33:17
Small debug of schema_ver 990ad6c4fad455a284a19ed2a60e80442c4ac9d8 Catalin(ux) M. BOIE 2017-05-25 14:32:54
TODO updates ea0e06ee96761e3220ac7a27ede1669c7501b9ba Catalin(ux) M. BOIE 2017-05-25 14:29:43
Prepare env to use base_url d6c009c120fce4df47a7651a94619142c8992d52 Catalin(ux) M. BOIE 2017-05-24 19:05:08
Use base_url function instead of the obsolete web_url variable a821ee84f3dcf7294ee569dbc2da8b442cb60f29 Catalin(ux) M. BOIE 2017-05-24 19:03:49
Declare state as loaded only if I can really save it in cache 10c2fcf9b78d6eb568e81ec34addfa2246d32618 Catalin(ux) M. BOIE 2017-05-24 18:53:25
Small texts fixes 9f7998f23276d44435bd3319099d13bcb40c6b7e Catalin(ux) M. BOIE 2017-05-24 18:51:50
Improved http tests by using persistent connections 9b77048af3f73f8bf30128d5b07a2bae28315d45 Catalin(ux) M. BOIE 2017-05-24 18:48:50
Big change allowing http and https to work in parallel 3f1836953c50735c7860da1f951eb82a42a1940b Catalin(ux) M. BOIE 2017-05-24 15:19:39
Do not generate an internal error if the user has no e-mail 6c355fe874750a9b5f454cbeeea28b5cf0f00236 Catalin(ux) M. BOIE 2017-05-06 10:55:41
Use rg_exec in tests to polute the output df300f967ebfaa70499d5b599dcb1dfae02a89f3 Catalin(ux) M. BOIE 2017-04-29 22:56:05
Send errors on sterr instead of stdout for ssh commands 006772c3e526e6cdbc92a52b452842bf8b46c4eb Catalin(ux) M. BOIE 2017-04-29 22:53:25
Added samples config files in the doc folder 6dad3cb75cba2203fe2f091285a708822192f306 Catalin(ux) M. BOIE 2017-04-29 15:12:05
Added sample nginx config file c7c1a7057ddf6fcca6e02ee63d46777bfa94c8bd Catalin(ux) M. BOIE 2017-04-29 14:46:56
Improved error reporting when php-fpm receives chunked encoding fe158537256add633f02076e8359cd8f2267d54f Catalin(ux) M. BOIE 2017-04-29 14:46:18
Commit d6b93c1dc2aef248fba8d5f4a34e57ad3433f82f - Manually free memory to improve performance
Author: Catalin(ux) M. BOIE
Author date (UTC): 2017-06-09 17:37
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2017-06-09 17:37
Parent(s): 1a487eb279fb2f77db64dbee1b2c1067b548899b
Signer:
Signing key:
Signing status: N
Tree: 0cb5a88fd9514e4b61bb3c67c3a4252c79509f48
File Lines added Lines deleted
inc/git.inc.php 13 1
File inc/git.inc.php changed (mode: 100644) (index ee5fa2f..13a7dc6)
... ... function rg_git_ls_tree($repo_path, $tree, $path)
640 640 } }
641 641
642 642 $output = explode("\n", trim($a['data'])); $output = explode("\n", trim($a['data']));
643 unset($a['data']); // manually free data
643 644 foreach ($output as $line) { foreach ($output as $line) {
644 645 //rg_log('DEBUG: processing line [' . $line . ']'); //rg_log('DEBUG: processing line [' . $line . ']');
645 646 $_y = array(); $_y = array();
646 647 $_t = explode("\t", $line); $_t = explode("\t", $line);
648 unset($line); // manually free data
647 649 $_y['file'] = trim($_t[1]); $_y['file'] = trim($_t[1]);
648 650 $_i = preg_replace("/([0-9]*) ([a-z]*) ([a-z0-9]*) ( *)([0-9]*)/", $_i = preg_replace("/([0-9]*) ([a-z]*) ([a-z0-9]*) ( *)([0-9]*)/",
649 651 '${1} ${2} ${3} ${5}', $_t[0]); '${1} ${2} ${3} ${5}', $_t[0]);
650 652 $_t = explode(" ", $_i); $_t = explode(" ", $_i);
653 unset($_i); // manually free data
651 654 $_y['mode'] = $_t[0]; $_y['mode'] = $_t[0];
652 655 $_y['mode_int'] = intval(base_convert($_t[0], 8, 10)); $_y['mode_int'] = intval(base_convert($_t[0], 8, 10));
653 656 if (($_y['mode_int'] & GIT_LINK_MASK) == GIT_LINK_MASK) if (($_y['mode_int'] & GIT_LINK_MASK) == GIT_LINK_MASK)
 
... ... function rg_git_diff2array($diff, &$out)
684 687
685 688 $ret = TRUE; $ret = TRUE;
686 689 $lines = explode("\n", $diff); $lines = explode("\n", $diff);
690 unset($diff); // manually free data
687 691 //rg_log_ml("DEBUG: lines: " . print_r($lines, TRUE)); //rg_log_ml("DEBUG: lines: " . print_r($lines, TRUE));
688 692 foreach ($lines as $line) { foreach ($lines as $line) {
689 693 if ($rg_git_debug > 90) if ($rg_git_debug > 90)
 
... ... function rg_git_diff2array($diff, &$out)
704 708 $rest = trim($rest, '"'); $rest = trim($rest, '"');
705 709 $rest = substr($rest, 2); /* skip 'a/' */ $rest = substr($rest, 2); /* skip 'a/' */
706 710 $_t = explode(' b/', $rest); $_t = explode(' b/', $rest);
711 unset($rest); // manually free data
707 712 foreach ($_t as &$_file) { foreach ($_t as &$_file) {
708 713 if (strncmp($_file, '"', 1) == 0) if (strncmp($_file, '"', 1) == 0)
709 714 $_file = substr($_file, 1, -1); $_file = substr($_file, 1, -1);
 
... ... function rg_git_diff2array($diff, &$out)
782 787 if (strncmp($line, "index ", 6) == 0) { if (strncmp($line, "index ", 6) == 0) {
783 788 $rest = substr($line, 6); $rest = substr($line, 6);
784 789 $_t = explode(' ', $rest); $_t = explode(' ', $rest);
790 unset($rest); // manually free data
785 791 $out[$file]['index'] = $_t[0]; $out[$file]['index'] = $_t[0];
786 792 if (isset($_t[1])) if (isset($_t[1]))
787 793 $out[$file]['mode'] = $_t[1]; $out[$file]['mode'] = $_t[1];
 
... ... function rg_git_log_simple($repo_path, $max, $from, $to, $also_patch, $files,
945 951 if ($rg_git_debug > 70) if ($rg_git_debug > 70)
946 952 rg_log_ml("DEBUG: OUTPUT OF GIT LOG: " . $a['data']); rg_log_ml("DEBUG: OUTPUT OF GIT LOG: " . $a['data']);
947 953
948 // because data starts with the separator, we remove it
949 954 $blocks = explode($sep_start, $a['data']); $blocks = explode($sep_start, $a['data']);
955 unset($a['data']); // manually free memory
956 // because data starts with the separator, we remove it
950 957 unset($blocks[0]); unset($blocks[0]);
951 958
952 959 //rg_log_ml('DEBUG: blocks: ' . print_r($blocks, TRUE)); //rg_log_ml('DEBUG: blocks: ' . print_r($blocks, TRUE));
 
... ... function rg_git_log_simple($repo_path, $max, $from, $to, $also_patch, $files,
960 967
961 968 // split block in two: vars and patches // split block in two: vars and patches
962 969 $parts = explode($sep_end, $block, 2); $parts = explode($sep_end, $block, 2);
970 unset($block); // manually free memory
963 971 //rg_log_ml('DEBUG: parts: ' . print_r($parts, TRUE)); //rg_log_ml('DEBUG: parts: ' . print_r($parts, TRUE));
964 972
965 973 // vars // vars
966 974 $y['vars']['lines_add'] = 0; $y['vars']['lines_add'] = 0;
967 975 $y['vars']['lines_del'] = 0; $y['vars']['lines_del'] = 0;
968 976 $x = explode ("\0", $parts[0]); $x = explode ("\0", $parts[0]);
977 unset($parts[0]); // manually free data
969 978 $count = count($x) - 1; // last is empty $count = count($x) - 1; // last is empty
970 979 for ($i = 0; $i < $count; $i++) { for ($i = 0; $i < $count; $i++) {
971 980 $_t = explode(':', $x[$i], 2); $_t = explode(':', $x[$i], 2);
 
... ... function rg_git_log_simple($repo_path, $max, $from, $to, $also_patch, $files,
990 999 //rg_log_ml('DEBUG parts[1]: ' . print_r($parts[1], TRUE)); //rg_log_ml('DEBUG parts[1]: ' . print_r($parts[1], TRUE));
991 1000 // numstat [+ diff separated by \0\0] // numstat [+ diff separated by \0\0]
992 1001 $n_d = explode("\0\0", $parts[1]); $n_d = explode("\0\0", $parts[1]);
1002 unset($parts[1]); // manually free data
993 1003 //rg_log_ml('DEBUG: n_d: ' . print_r($n_d, TRUE)); //rg_log_ml('DEBUG: n_d: ' . print_r($n_d, TRUE));
994 1004
995 1005 // numstat // numstat
 
... ... function rg_git_files($old, $new)
1353 1363 } }
1354 1364
1355 1365 $ret = explode("\n", trim($a['data'])); $ret = explode("\n", trim($a['data']));
1366 unset($a['data']); // manually free data
1356 1367 break; break;
1357 1368 } }
1358 1369
 
... ... function rg_git_diff_tree($tree1, $tree2)
1942 1953 } }
1943 1954
1944 1955 $output = explode("\n", trim($a['data'])); $output = explode("\n", trim($a['data']));
1956 unset($a['data']); // manually free data
1945 1957 $ret = array(); $ret = array();
1946 1958 foreach ($output as $line) { foreach ($output as $line) {
1947 1959 $_y = array(); $_y = array();
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