List of commits:
Subject Hash Author Date (UTC)
Use rg_repos for repositories e5bda9469fddee7f201c22dfd89292830f4c342b Catalin(ux) M. BOIE 2012-03-22 03:42:06
Corrected <label> tags 7e8621e79480b8964e04de8c54f10f1a702ea1fd Catalin(ux) M. BOIE 2012-03-20 04:25:38
Fixed unit testing 31bfe5672e7d3b620d0e7b3c07ff72d84c149001 Catalin(ux) M. BOIE 2012-03-17 17:21:21
Fixed hook_update.sh unit testing 86c4079e81efc5a4a7878e91d8f4318e443961f7 Catalin(ux) M. BOIE 2012-03-16 22:32:35
Bulk updates f696473a7faee50782d3cc01e96cc85e7900b3de Catalin(ux) M. BOIE 2012-03-14 04:38:23
Style changes. 87e30b1df29b7c6efa438be1cf369192a8068655 Catalin(ux) M. BOIE 2012-02-19 22:50:22
Bulk 0923407bff68a58a0b7b034f8a6b4489ece5b237 Catalin(ux) M. BOIE 2012-02-12 22:21:44
Bulk update 30310488bca37cefeba96b52b71c9c3e72c32907 Catalin(ux) M. BOIE 2011-12-15 23:34:03
Profiling tests. afd1df2940fe440cde9b8ede988ff24c051a10d6 Catalin(ux) M. BOIE 2011-11-03 22:10:13
More bulk updates. a2a2e2545eaad61d0c675ea2afb801f207534515 Catalin(ux) M. BOIE 2011-11-03 22:09:34
Another round of bulk updates. 45bb00a88c420d439b4dd19971808722e4a70895 Catalin(ux) M. BOIE 2011-10-24 22:31:14
Bulk update. Mostly css. 04734cd7cfc4fd4ec55dad70a3490f3065027639 Catalin(ux) M. BOIE 2011-10-03 23:18:26
Added rg_exec function and converted all calls from exec to rg_exec. 097157e5886dace2b9f67ca238a1063a3baff4a0 Catalin(ux) M. BOIE 2011-09-28 03:28:49
Another round of bulk updates cb9dbb75518ab3c214167646197ca7eb0de8e4e6 Catalin(ux) M. BOIE 2011-09-26 19:22:12
Bulk updates cad0c710542dc3fb072268eba40b0abe11217fa9 Catalin(ux) M. BOIE 2011-09-21 20:25:23
Bulk changes. d5274ef5f261086a2af6bd19ac04061bb3d55584 Catalin(ux) M. BOIE 2011-09-15 20:16:46
Store the fist instalation date in 'state' table. e4ba8a9239e72e8de5eed0b3bb1f2a5f2d429105 Catalin(ux) M. BOIE 2011-08-31 16:14:44
Bulk changes. 645d3deb19e399c05a8b14dd88c5151520482b6a Catalin(ux) M. BOIE 2011-08-25 20:39:25
Another bulk update - css related. 3867eb5deadf9827450b40a53efe6c83f518a07b Catalin(ux) M. BOIE 2011-07-26 22:01:13
Bulk update. 9d680f000b7c486be4664e1cb944f424c977c874 Catalin(ux) M. BOIE 2011-07-25 19:06:14
Commit e5bda9469fddee7f201c22dfd89292830f4c342b - Use rg_repos for repositories
Author: Catalin(ux) M. BOIE
Author date (UTC): 2012-03-22 03:42
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2012-03-22 03:42
Parent(s): 7e8621e79480b8964e04de8c54f10f1a702ea1fd
Signing key:
Tree: 93499a386d3a984babd9e2882343b9a293fa3909
File Lines added Lines deleted
Makefile.in 2 2
TODO 27 28
inc/mr.inc.php 1 1
inc/user.inc.php 2 2
root/index.php 0 3
samples/config.php 4 1
tests/repo.php 1 1
tests/user.php 1 1
File Makefile.in changed (mode: 100644) (index c42fcbd..30b2a35)
... ... install: all
30 30 @mkdir -p $(I_VAR_LOG)/$(PRJ)-web @mkdir -p $(I_VAR_LOG)/$(PRJ)-web
31 31 @-chown apache:apache $(I_VAR_LOG)/$(PRJ)-web @-chown apache:apache $(I_VAR_LOG)/$(PRJ)-web
32 32 @chmod 0700 $(I_VAR_LOG)/$(PRJ)-web @chmod 0700 $(I_VAR_LOG)/$(PRJ)-web
33 @mkdir -p $(I_VAR_LIB)/$(PRJ)
34 @-chown rocketgit:rocketgit $(I_VAR_LIB)/$(PRJ)
33 @mkdir -p $(I_VAR_LIB)/$(PRJ) $(I_VAR_LIB)/$(PRJ)/locks $(I_VAR_LIB)/$(PRJ)/repos
34 @-chown -R rocketgit:rocketgit $(I_VAR_LIB)/$(PRJ)
35 35 @chmod 0700 $(I_VAR_LIB)/$(PRJ) @chmod 0700 $(I_VAR_LIB)/$(PRJ)
File TODO changed (mode: 100644) (index 6716da8..e242427)
1 1 == BEFORE FIRST RELEASE! == == BEFORE FIRST RELEASE! ==
2 [ ] [Mon Feb 13 02:12:22 2012] [error] [client 2002:2e66:5950:79:72f3:95ff:fee1:73af] PHP Notice: Undefined index: organization in /usr/share/rocketgit/inc/util.inc.php on line 115, referer: http://rg.embedromix.ro:8000/user/catab/rocketgit/admin/rights?edit_uid=3
3 [ ] $blocks = explode("@@left@@-=ROCKETGIT=-@@left@@", $a) - seems that \0 is replaced!
4 [ ] rg_exec!
5 [ ] Take care of PHP's time limit to not interfere with the rest.
6 [ ] Validate e-mails.
7 [ ] You cannot admin rights of a repository if is not yours.
8 [ ] Check XSRF attacks and other types.
9 2 [ ] $rg_pass_key should be done in init.php [ ] $rg_pass_key should be done in init.php
10 [ ] Changing repo name probably is not working right.
11 [ ] Run update.php before rpm upgrade the scripts.
12 [ ] rg_repo_allow seems to not be used.
13 [ ] Deny any operation till schema update is done.
14 3 [ ] Test and fix update.php script. [ ] Test and fix update.php script.
15 4 [ ] Check if rewinds are working as expected. [ ] Check if rewinds are working as expected.
16 5 [ ] Fix the "edit repo" page! [ ] Fix the "edit repo" page!
17 [ ] With FMH rights, seems that we insert a merge request, but create branch is
18 rejected in next hook!
19 [ ] Update of database must be done from a global init function, not by admin.
20 [ ] Switch all menus to templates.
21 [ ] Switch all forms to templates.
6 [ ] With FMH (Fetch + Anonymous push + merge commits) rights, seems that we insert a merge request,
7 but create branch is rejected in next hook!
22 8 [ ] 'cop' variable is not good - I do not remember what it means! [ ] 'cop' variable is not good - I do not remember what it means!
23 [ ] Why is not working to access a user page ("invalid repo")?!
24 [ ] Delay connection to database.
25 [ ] Get memory statistics from /proc.
26 9 [ ] CSRF token is not used in admin page for an ordinary user! [ ] CSRF token is not used in admin page for an ordinary user!
27 [ ] Differentiate between owner of a repository, currently logged in user and admin.
28 [ ] Warn before deleting a repo!
29 [ ] Update db structure at any function call (after an upgrade).
10 [ ] Update db structure at any function call (after an upgrade). (Deny any operation till schema update is done.)
11 [ ] Check if repo_path is valid from security pov.
12 [ ] Make available the push requests.
13 [ ] Add possibility to reject merge requests, to make them public, to delete etc.
14
15 == Normal priority ==
16 [ ]
17 [ ] $blocks = explode("@@left@@-=ROCKETGIT=-@@left@@", $a) - seems that \0 is replaced!
18 [ ] Changing repo name probably is not working right.
19 [ ] Check XSRF attacks and other types.
20 [ ] Validate e-mails.
21 [ ] Take care of PHP's time limit to not interfere with the rest.
22 [ ] Run update.php before rpm upgrade the scripts.
30 23 [ ] Store by uid the repos, and make links to them. Make a function to rename [ ] Store by uid the repos, and make links to them. Make a function to rename
31 24 a username. We have to keep track of renames so old links will a username. We have to keep track of renames so old links will
32 25 still work. still work.
33 [ ] Move repos to /var/lib
34 [ ] Fix 'update' hook - is a little bit strange.
35 [ ] Check if repo_path is valid from security pov.
26 [ ] Differentiate between owner of a repository, currently logged in user and admin.
27 [ ] Warn before deleting a repo!
28 [ ] Update of database must be done from a global init function, not by admin.
29 [ ] Switch all menus to templates.
30 [ ] Switch all forms to templates.
36 31 [ ] Check double slashes in URLs. [ ] Check double slashes in URLs.
37 [ ]
38
39 == Normal priority ==
32 [ ] Automatically create user on anonymous push?
33 [ ] I am not sure I can reload xinetd and httpd from spec file
34 [ ] Check SELinux context on /var/lib/rocketgit
35 [ ] admin: "Lock or accounts" and "Reset password for all accounts and send mail".
36 [ ] rg_repo_allow seems to not be used.
37 [ ] Get memory statistics from /proc.
38 [ ] Delay connection to database.
40 39 [ ] Add support for refs/notes/ pushes. [ ] Add support for refs/notes/ pushes.
41 40 [ ] When logging _SERVER variables, log only the ones prefixed by ROCKETGIT_. [ ] When logging _SERVER variables, log only the ones prefixed by ROCKETGIT_.
42 41 [ ] Ask password when doing any critical change of the account and send mail. [ ] Ask password when doing any critical change of the account and send mail.
File inc/mr.inc.php changed (mode: 100644) (index 3949651..50ea8bf)
... ... require_once($INC . "/sql.inc.php");
6 6
7 7 $rg_mr_env_q = getenv("ROCKETGIT_MR_QUEUE"); $rg_mr_env_q = getenv("ROCKETGIT_MR_QUEUE");
8 8 if (empty($rg_mr_env_q)) if (empty($rg_mr_env_q))
9 $rg_mr_queue = $rg_base . "/q_merge_requests";
9 $rg_mr_queue = $rg_repos . "/q_merge_requests";
10 10 else else
11 11 $rg_mr_queue = $rg_mr_env_q; $rg_mr_queue = $rg_mr_env_q;
12 12
File inc/user.inc.php changed (mode: 100644) (index 25bf8a9..fcc6952)
... ... function rg_user_error()
30 30 */ */
31 31 function rg_user_name2path($rr) function rg_user_name2path($rr)
32 32 { {
33 global $rg_base;
33 global $rg_repos;
34 34
35 35 $len = strlen($rr['user']); $len = strlen($rr['user']);
36 36 $v = $rr['user']; $v = $rr['user'];
 
... ... function rg_user_name2path($rr)
42 42 else else
43 43 $type = "user"; $type = "user";
44 44
45 return $rg_base . "/" . $type . "s/"
45 return $rg_repos . "/" . $type . "s/"
46 46 . $v[0] . "/" . $v[1] . "/" . $rr['user']; . $v[0] . "/" . $v[1] . "/" . $rr['user'];
47 47 } }
48 48
File root/index.php changed (mode: 100644) (index 59163d9..a3561f2)
... ... $rg_ui = array();
28 28 $vv = rg_var_str("vv"); $vv = rg_var_str("vv");
29 29 rg_log("DEBUG: vv=$vv."); rg_log("DEBUG: vv=$vv.");
30 30 if (strcmp($vv, "/") == 0) { // main page for site (not for user) if (strcmp($vv, "/") == 0) { // main page for site (not for user)
31 rg_log("DEBUG: vv: it is the main page");
32 31 $op = "main"; $op = "main";
33 32 } else if (strncmp($vv, "/op/", 4) == 0) { // command } else if (strncmp($vv, "/op/", 4) == 0) { // command
34 rg_log("DEBUG: vv: it is an op");
35 33 $_t = substr($vv, 4); $_t = substr($vv, 4);
36 34 $_t = explode("/", $_t); $_t = explode("/", $_t);
37 35 $op = $_t[0]; $op = $_t[0];
 
... ... if (strcmp($vv, "/") == 0) { // main page for site (not for user)
42 40 } }
43 41 $cop = rtrim("/op/" . $op . "/" . $subop . "/" . $subsubop, "/"); $cop = rtrim("/op/" . $op . "/" . $subop . "/" . $subsubop, "/");
44 42 } else { // user or organization } else { // user or organization
45 rg_log("DEBUG: vv: user or organization");
46 43 if (strncmp($vv, "/user/", 6) == 0) { if (strncmp($vv, "/user/", 6) == 0) {
47 44 $vv6 = substr($vv, 6); $vv6 = substr($vv, 6);
48 45 $rr['prefix'] = "/user"; $rr['prefix'] = "/user";
File samples/config.php changed (mode: 100644) (index b8c665d..2cb3510)
... ... $rg_log_dir = "/var/log/rocketgit";
53 53 $rg_web_log_dir = "/var/log/rocketgit-web"; $rg_web_log_dir = "/var/log/rocketgit-web";
54 54
55 55 // lock dir // lock dir
56 $rg_lock_dir = "/var/lib/rocketgit";
56 $rg_lock_dir = "/var/lib/rocketgit/locks";
57
58 // Repositories dir
59 $rg_repos = "/var/lib/rocketgit/repos";
57 60
58 61 // Default theme // Default theme
59 62 $rg_theme = "default"; $rg_theme = "default";
File tests/repo.php changed (mode: 100644) (index f378a15..87fd5fd)
... ... $rg_sql_debug = 1;
12 12
13 13 // defaults // defaults
14 14 $rg_repo_max_len = 100; $rg_repo_max_len = 100;
15 $rg_base = "/base";
15 $rg_repos = "/base";
16 16
17 17
18 18 rg_log("name2base1"); rg_log("name2base1");
File tests/user.php changed (mode: 100644) (index e96ba35..4cf6eda)
... ... if ($r['uid'] != $uid) {
123 123 } }
124 124
125 125 // test name2path // test name2path
126 $rg_base = "/base"; $user = "b"; $e = "/base/users/b/_/b";
126 $rg_repos = "/base"; $user = "b"; $e = "/base/users/b/_/b";
127 127 $rr = array("prefix" => "/" . $user, "user" => $user); $rr = array("prefix" => "/" . $user, "user" => $user);
128 128 $r = rg_user_name2path($rr); $r = rg_user_name2path($rr);
129 129 if (strcmp($r, $e) != 0) { if (strcmp($r, $e) != 0) {
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