xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
Commit 7a675f59c73ad5383033acbee2de98d2c31d1681

Added license support
Author: Catalin(ux) M. BOIE
Author date (UTC): 2015-03-22 08:28
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2015-03-22 08:28
Parent(s): d0be6070962a782adf99e08155ea04cef619368e
Signing key:
Tree: e94d9257a5d3f965afff4a0f6570726b52c3adae
File Lines added Lines deleted
inc/repo.inc.php 6 2
inc/struct.inc.php 6 0
root/themes/default/admin/menu.html 4 4
root/themes/default/admin/plans/menu.html 2 2
root/themes/default/admin/repos/menu.html 2 2
root/themes/default/admin/users/menu.html 2 2
root/themes/default/hints/list/header.html 1 0
root/themes/default/index.html 20 20
root/themes/default/main.css 51 34
root/themes/default/main.html 31 9
root/themes/default/menu/line.html 1 1
root/themes/default/repo/add_edit.html 7 2
root/themes/default/repo/list/header.html 1 0
root/themes/default/repo/list/line.html 1 0
root/themes/default/repo/main.html 9 6
root/themes/default/repo/menu.html 9 9
root/themes/default/tos.html 1 1
root/themes/default/user/repo/menu.html 5 5
root/themes/default/user/settings/menu.html 3 3
tests/helpers.inc.php 1 0
File inc/repo.inc.php changed (mode: 100644) (index 5078366..f2de19b)
... ... function rg_repo_edit($db, $login_ui, &$new)
914 914
915 915 $sql = "INSERT INTO repos (uid, master, name" $sql = "INSERT INTO repos (uid, master, name"
916 916 . ", itime, max_commit_size, description" . ", itime, max_commit_size, description"
917 . ", git_dir_done, public)"
917 . ", git_dir_done, public, license)"
918 918 . " VALUES (@@uid@@, @@master@@, @@name@@" . " VALUES (@@uid@@, @@master@@, @@name@@"
919 919 . ", @@itime@@, @@max_commit_size@@" . ", @@itime@@, @@max_commit_size@@"
920 . ", @@description@@, 0, @@public@@)"
920 . ", @@description@@, 0, @@public@@"
921 . ", @@license@@)"
921 922 . " RETURNING repo_id"; . " RETURNING repo_id";
922 923 } else { } else {
923 924 $sql = "UPDATE repos SET name = @@name@@" $sql = "UPDATE repos SET name = @@name@@"
924 925 . ", max_commit_size = @@max_commit_size@@" . ", max_commit_size = @@max_commit_size@@"
925 926 . ", description = @@description@@" . ", description = @@description@@"
926 927 . ", public = @@public@@" . ", public = @@public@@"
928 . ", license = @@license@@"
927 929 . " WHERE repo_id = @@repo_id@@"; . " WHERE repo_id = @@repo_id@@";
928 930 } }
929 931 $res = rg_sql_query_params($db, $sql, $new); $res = rg_sql_query_params($db, $sql, $new);
 
... ... function rg_repo_edit_high_level($db, &$rg)
1437 1439 $rg['ri']['max_commit_size'] = "0"; $rg['ri']['max_commit_size'] = "0";
1438 1440 $rg['ri']['description'] = ""; $rg['ri']['description'] = "";
1439 1441 $rg['ri']['public'] = "1"; $rg['ri']['public'] = "1";
1442 $rg['ri']['license'] = "";
1440 1443 } }
1441 1444 break; break;
1442 1445 } }
 
... ... function rg_repo_edit_high_level($db, &$rg)
1447 1450 $rg['ri']['max_commit_size'] = rg_var_uint("max_commit_size"); $rg['ri']['max_commit_size'] = rg_var_uint("max_commit_size");
1448 1451 $rg['ri']['description'] = rg_var_str("description"); $rg['ri']['description'] = rg_var_str("description");
1449 1452 $rg['ri']['public'] = rg_var_bool("public"); $rg['ri']['public'] = rg_var_bool("public");
1453 $rg['ri']['license'] = rg_var_str("license");
1450 1454 rg_repo_cosmetic($rg['ri']); rg_repo_cosmetic($rg['ri']);
1451 1455 //rg_log_ml("CHECK: after repo edit: rg[ri]=" . print_r($rg['ri'], TRUE)); //rg_log_ml("CHECK: after repo edit: rg[ri]=" . print_r($rg['ri'], TRUE));
1452 1456
File inc/struct.inc.php changed (mode: 100644) (index 25a286e..2c9ec7a)
... ... $rg_sql_struct[31]['other'] = array(
408 408 "repo_history" => "ALTER TABLE repo_history ADD uid INTEGER NOT NULL DEFAULT 0" "repo_history" => "ALTER TABLE repo_history ADD uid INTEGER NOT NULL DEFAULT 0"
409 409 ); );
410 410
411 $rg_sql_struct[32] = array();
412 $rg_sql_struct[32]['tables'] = array();
413 $rg_sql_struct[32]['other'] = array(
414 "repo_license" => "ALTER TABLE repos ADD license TEXT NOT NULL DEFAULT ''"
415 );
416
411 417
412 418 // This must be the last line // This must be the last line
413 419 $rg_sql_schema_ver = count($rg_sql_struct); $rg_sql_schema_ver = count($rg_sql_struct);
File root/themes/default/admin/menu.html changed (mode: 100644) (index ad92539..5629152)
1 1 <div class="menu menu2"> <div class="menu menu2">
2 2 <ul> <ul>
3 <li><a @@if(@@menu::sub1::plans@@ == 1){{class="selected"}}{{}} href="/op/admin/plans">Plans</a></li>
4 <li><a @@if(@@menu::sub1::users@@ == 1){{class="selected"}}{{}} href="/op/admin/users">Users</a></li>
5 <li><a @@if(@@menu::sub1::repos@@ == 1){{class="selected"}}{{}} href="/op/admin/repos">Repos</a></li>
6 <li><a @@if(@@menu::sub1::invites@@ == 1){{class="selected"}}{{}} href="/op/admin/invites">Invites</a></li>
3 <li@@if(@@menu::sub1::plans@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/plans">Plans</a></li>
4 <li@@if(@@menu::sub1::users@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/users">Users</a></li>
5 <li@@if(@@menu::sub1::repos@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/repos">Repos</a></li>
6 <li@@if(@@menu::sub1::invites@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/invites">Invites</a></li>
7 7 </ul> </ul>
8 8 </div> </div>
File root/themes/default/admin/plans/menu.html changed (mode: 100644) (index 52181d0..000adef)
1 1 <div class="menu menu2"> <div class="menu menu2">
2 2 <ul> <ul>
3 <li><a @@if(@@menu::sub2::list@@ == 1){{class="selected"}}{{}} href="/op/admin/plans/list">List</a></li>
4 <li><a @@if(@@menu::sub2::add@@ == 1){{class="selected"}}{{}} href="/op/admin/plans/add">Add</a></li>
3 <li@@if(@@menu::sub2::list@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/plans/list">List</a></li>
4 <li@@if(@@menu::sub2::add@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/plans/add">Add</a></li>
5 5 </ul> </ul>
6 6 </div> </div>
File root/themes/default/admin/repos/menu.html changed (mode: 100644) (index 58c3889..4dc3284)
1 1 <div class="menu menu2"> <div class="menu menu2">
2 2 <ul> <ul>
3 <li><a @@if(@@menu::sub2::list@@ == 1){{class="selected"}}{{}} href="/op/admin/repos/list">List</a></li>
4 <li><a @@if(@@menu::sub2::add@@ == 1){{class="selected"}}{{}} href="/op/admin/repos/add">Add</a></li>
3 <li@@if(@@menu::sub2::list@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/repos/list">List</a></li>
4 <li@@if(@@menu::sub2::add@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/repos/add">Add</a></li>
5 5 </ul> </ul>
6 6 </div> </div>
File root/themes/default/admin/users/menu.html changed (mode: 100644) (index 6675e94..b44bbe8)
1 1 <div class="menu menu2"> <div class="menu menu2">
2 2 <ul> <ul>
3 <li><a @@if(@@menu::sub2::list@@ == 1){{class="selected"}}{{}} href="/op/admin/users/list">List</a></li>
4 <li><a @@if(@@menu::sub2::add@@ == 1){{class="selected"}}{{}} href="/op/admin/users/add">Add</a></li>
3 <li@@if(@@menu::sub2::list@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/users/list">List</a></li>
4 <li@@if(@@menu::sub2::add@@ == 1){{ class="selected"}}{{}}><a href="/op/admin/users/add">Add</a></li>
5 5 </ul> </ul>
6 6 </div> </div>
File root/themes/default/hints/list/header.html changed (mode: 100644) (index 56a9fb3..eabc64b)
1 1 <div class="hints"> <div class="hints">
2 <b>Hints:</b><br />
2 3 <ul> <ul>
File root/themes/default/index.html changed (mode: 100644) (index 1b584b5..0c87c71)
14 14 <div id="header"> <div id="header">
15 15 <a class="logo" href="/">RocketGit</a> <a class="logo" href="/">RocketGit</a>
16 16
17 <div id="menus">
18 <!-- main menu -->
17 <div class="user">
18 @@if("@@login_ui::username@@" != ""){{
19 <a href="@@login_ui::homepage@@">@@login_ui::username@@</a>
20 }}{{
21 <a href="/op/login">Sign in</a>
22 }}
23 </div>
24 </div> <!-- header -->
25
26 <!-- main menu -->
27 <div id="menus">
19 28 <div class="menu"> <div class="menu">
20 29 <ul> <ul>
21 @@if(@@login_ui::uid@@ != 0){{<li><a @@if(@@menu::settings@@ == 1){{class="selected"}}{{}} href="/op/settings">Settings</a></li>}}{{}}
22 <li><a @@if(@@menu::repo@@ == 1){{class="selected"}}{{}} href="/op/repo">Repositories</a></li>
23 @@if(@@login_ui::is_admin@@ == 1){{<li><a @@if(@@menu::admin@@ == 1){{class="selected"}}{{}} href="/op/admin">Admin</a></li>}}{{}}
24 @@if(@@login_ui::uid@@ != 0){{<li><a @@if(@@menu::suggestion@@ == 1){{class="selected"}}{{}} href="/op/suggestion">Suggestion</a></li>}}{{}}
25 @@if(@@login_ui::uid@@ != 0){{<li><a @@if(@@menu::logout@@ == 1){{class="selected"}}{{}} href="/op/logout?token=@@logout_token@@">Logout</a></li>}}{{}}
30 @@if(@@login_ui::uid@@ != 0){{<li@@if(@@menu::settings@@ == 1){{ class="selected"}}{{}}><a href="/op/settings">Settings</a></li>}}{{}}
31 <li@@if(@@menu::repo@@ == 1){{ class="selected"}}{{}}><a href="/op/repo">Repositories</a></li>
32 @@if(@@login_ui::is_admin@@ == 1){{<li@@if(@@menu::admin@@ == 1){{ class="selected"}}{{}}><a href="/op/admin">Admin</a></li>}}{{}}
33 @@if(@@login_ui::uid@@ != 0){{<li@@if(@@menu::suggestion@@ == 1){{ class="selected"}}{{}}><a href="/op/suggestion">Suggestion</a></li>}}{{}}
34 @@if(@@login_ui::uid@@ != 0){{<li@@if(@@menu::logout@@ == 1){{ class="selected"}}{{}} ><a href="/op/logout?token=@@logout_token@@">Logout</a></li>}}{{}}
26 35 </ul> </ul>
27 36 </div> </div>
28 </div>
29
30 <div class="user">
31 @@if("@@login_ui::username@@" != ""){{
32 <a href="@@login_ui::homepage@@">@@login_ui::username@@</a>
33 }}{{
34 <a href="/op/login">Sign in</a>
35 }}
36 </div>
37 </div> <!-- header -->
38 <!-- submenus -->
39 @@submenu1@@
40 @@submenu2@@
41 37
38 <!-- submenus -->
39 @@submenu1@@
40 @@submenu2@@
41 </div>
42 42
43 43 <div id="main_container"> <div id="main_container">
44 44 <div id="main"> <div id="main">
File root/themes/default/main.css changed (mode: 100644) (index c3bdf68..33098c0)
... ... table {
20 20 border: 1px solid #000000; border: 1px solid #000000;
21 21 background-color: #eeeeee; background-color: #eeeeee;
22 22 color: #000000; color: #000000;
23 border-spacing: 1px;
24 23 padding: 1px; padding: 1px;
25 24 margin-top: 3px; margin-top: 3px;
26 25 } }
 
... ... form input[type="text"], form input[type="password"], form textarea, form select
46 45 } }
47 46 form select option { padding: 1px 4px 1px 4px; } form select option { padding: 1px 4px 1px 4px; }
48 47 form input[type="submit"] { form input[type="submit"] {
49 color: #FF0000;
48 color: #FF2700;
50 49 display: inline-block; display: inline-block;
51 50 font-weight: bold; font-weight: bold;
52 51 font-size: 11pt; font-size: 11pt;
 
... ... form input[type="submit"] {
65 64 } }
66 65
67 66 .logo { .logo {
68 display: inline;
69 67 float: left; float: left;
70 font-size: 15pt;
68 font-size: 16pt;
71 69 font-weight: bold; font-weight: bold;
72 70 text-decoration: none; text-decoration: none;
73 71 text-shadow: 0 0 2px yellow; text-shadow: 0 0 2px yellow;
74 color: red;
75 padding: 6px 12px 6px 0px;
72 color: #FF2700;
73 padding: 5px 12px 5px 15px;
74 vertical-align: bottom;
75 xxx-display: inline;
76 76 } }
77 77
78 78 .user { .user {
79 padding: 6px 0px;
80 display: inline;
79 padding: 5px 15px 5px 0px;
81 80 float: right; float: right;
82 81 } }
83 82 .user a { .user a {
 
... ... form input[type="submit"] {
91 90 } }
92 91
93 92 #menus { #menus {
94 display: inline-block;
95 padding-left: 10px;
96 display: inline;
97 float: left;
93 xxx-padding-left: 10px;
98 94 } }
99 95
100 .menu { padding: 6px 0px; }
96 .menu {
97 background-color: #AAA;
98 overflow: hidden;
99 padding: 3px 0px;
100 }
101 101 .menu ul { list-style-type: none; } .menu ul { list-style-type: none; }
102 .menu ul li { display: inline; }
102 .menu ul li {
103 display: inline;
104 padding: 5px 0px;
105 }
103 106 .menu ul li a { .menu ul li a {
104 107 text-decoration: none; text-decoration: none;
105 color: #FFFFFF;
106 font-size: 12pt;
108 color: #FFF;
109 font-size: 13pt;
107 110 font-weight: bold; font-weight: bold;
108 padding: 3px 12px 3px 12px;
111 padding: 5px 15px;
109 112 } }
110 .menu ul li a:hover { color: #FF0000; }
111 .menu ul li a.selected { background-color: #BBBBBB; }
112 .menu ul li a.selected:hover { color: #CCCCCC; }
113 .menu ul li a:hover { color: #FF2700; }
114 .menu ul li.selected { background-color: #BBB; }
115 .menu ul li.selected a:hover { color: #CCC; }
113 116
114 .menu2 { background-color: #BBBBBB; }
117 .menu2 { background-color: #BBB; }
118 .menu2 ul li.selected { background-color: #CCC; }
119 .menu2 ul li.selected a:hover { color: #FFF; }
115 120
116 121 .junk {} .junk {}
117 122
 
... ... form input[type="submit"] {
129 134
130 135 #header { #header {
131 136 overflow: hidden; overflow: hidden;
132 border-bottom: 1px solid #CCCCCC;
137 xxx-border-bottom: 1px solid #000000;
138 box-shadow: 0px 2px 3px #666666;
133 139 background-color: #888888; background-color: #888888;
134 padding: 0 15px 0 15px;
140 width: 100%;
141 margin-bottom: 4px;
135 142 } }
136 143 #header table { #header table {
137 144 border-collapse: collapse; border-collapse: collapse;
 
... ... form input[type="submit"] {
147 154
148 155
149 156 #main_container { #main_container {
150 min-height: 400px;
151 157 width: 100%; width: 100%;
152 158 } }
153 159
 
... ... tos {
230 236
231 237 .error { .error {
232 238 font-weight: bold; font-weight: bold;
233 color: red;
239 color: #FF2700;
234 240 } }
235 241
236 242 .form_item_title {} .form_item_title {}
 
... ... tos {
243 249
244 250 .blob_title { .blob_title {
245 251 font-size: 11pt; font-size: 11pt;
246 color: red;
252 color: #FF2700;
247 253 } }
248 254
249 255 .source { .source {
 
... ... tos {
263 269
264 270 .submenu { .submenu {
265 271 border: 1px solid #CCCCCC; border: 1px solid #CCCCCC;
266 border-bottom: 1px solid #CCCCCC;
267 272 background-color: #999999; background-color: #999999;
268 margin-bottom: 3px;
269 273 display: block; display: block;
270 274 padding-left: 5px; padding-left: 5px;
271 275 } }
 
... ... tos {
310 314 } }
311 315
312 316 .error {} .error {}
313 .error b { color: #ff0000; font-weight: bold; font-size: 11pt; }
317 .error b { color: #FF2700; font-weight: bold; font-size: 11pt; }
314 318 .error ul { padding-left: 15pt; } .error ul { padding-left: 15pt; }
315 319 .error ul li {} .error ul li {}
316 320
 
... ... tos {
345 349
346 350 .hints { .hints {
347 351 margin-top: 5px; margin-top: 5px;
348 background-color: #A0FFA0;
352 xxx-background-color: #A0FFA0;
353 background-color: #FFFFFF;
349 354 padding: 5px; padding: 5px;
350 355 border-radius: 4px 4px 4px 4px; border-radius: 4px 4px 4px 4px;
351 356 border: 1px solid #cccccc; border: 1px solid #cccccc;
352 357 line-height: 120%; line-height: 120%;
353 358 font-size: 9pt; font-size: 9pt;
354 359 display: table; display: table;
360 vertical-align: bottom;
355 361 } }
356 362 .hints ul { list-style-type: none; } .hints ul { list-style-type: none; }
357 363 .hints ul li { } .hints ul li { }
 
... ... tos {
398 404
399 405 .warning { .warning {
400 406 margin-top: 5px; margin-top: 5px;
401 background-color: #FF0000;
407 background-color: #CCC;
402 408 padding: 5px; padding: 5px;
403 border: 1px solid #CCCCCC;
409 border: 1px solid #FF2700;
410 color: #FF2700;
404 411 display: table; display: table;
405 412 } }
406 413
407 414 .ok { .ok {
408 415 margin-top: 5px; margin-top: 5px;
409 background-color: #00FF00;
410 416 padding: 5px; padding: 5px;
411 border: 1px solid #CCCCCC;
417 border: 1px solid #FFF;
418 color: #000;
412 419 display: table; display: table;
413 420 } }
414 421
 
... ... tos {
427 434 font-size: 13pt; font-size: 13pt;
428 435 font-weight: bold; font-weight: bold;
429 436 } }
437
438 .first_page {
439 margin-top: 5px;
440 border: 1px solid #999998;
441 padding: 5px;
442 border-radius: 4px 4px 4px 4px;
443 font-size: 13pt;
444 width: 600px;
445 line-height: 115%;
446 }
File root/themes/default/main.html changed (mode: 100644) (index aedb3e2..aee3807)
1 <div class="first_page">
2 <div style="font-size: 23pt; font-weight: bold;">
3 Welcome to RocketGit!
4 </div>
1 5 <br /> <br />
2 <h1>Welcome to RocketGit!</h1>
6
7 We know that a lot of people are not happy at all to host a project
8 on a proprietary platform. So, we created this project.<br />
3 9 <br /> <br />
4 10
5 Our target is to become the best FLOSS software for managing Git projects.
6 With your help, we will do it. Thanks!<br />
11 Our goal is to become the best FLOSS (free, libre and open-source)
12 software for managing Git both public and private projects.
13 With your help, we will reach our goal. Thank you!<br />
7 14 <br /> <br />
15
8 16 If you are wondering about the Enterprise Edition, the good news is that If you are wondering about the Enterprise Edition, the good news is that
9 is the same version with the one running here, on rocketgit.com.
10 You can run this software inside the firewall using free software.
11 <br />
12 You have access to unlimited number of repositories (both public and private).
17 this is the same version as the one running here, on rocketgit.com.
18 You can run this software inside the firewall using free software.<br />
13 19 <br /> <br />
20
14 21 Maybe you want to know how do we intend to sustain the business without Maybe you want to know how do we intend to sustain the business without
15 an Enterprise Edition. We will do it by offering support for our software,
16 by charging for customizations, ads (very targeted and no flash) and donations.
22 a mandatory fee for using the Enterprise Edition.
23 We will do it by offering paid support, by charging for customizations,
24 ads (very targeted and no flash) and donations.
25 Please support us to be able to keep going this project.<br />
17 26 <br /> <br />
27
28 Here at rocketgit.com, you can create an unlimited number of repositories,
29 both public and private.<br />
30 <br />
31
32 To install this software on your server, just go to
33 <a href="http://rocketgit.com/user/catalinux/rocketgit/source"></a>
34 and follow the instructions. Takes two minutes. In the near future we will
35 provide pre-made virtual machine images to achieve under 10 seconds
36 install time.<br />
37 <br />
38
18 39 You can create an account <a href="/op/create_account">here</a>.<br /> You can create an account <a href="/op/create_account">here</a>.<br />
40 </div>
File root/themes/default/menu/line.html changed (mode: 100644) (index 2b29c2a..384a27e)
1 <li><a href="@@url@@"@@if(@@selected@@ == 1){{ class="selected"}}{{}}>@@text@@</a></li>
1 <li@@if(@@selected@@ == 1){{ class="selected"}}{{}}><a href="@@url@@">@@text@@</a></li>
File root/themes/default/repo/add_edit.html changed (mode: 100644) (index b767244..2a8d9b6)
17 17 <br /> <br />
18 18 <br /> <br />
19 19
20 <label for="max_commit_size" class="form_item_title">Max commit size (bytes, 0 = unlimited)</label><br />
21 <input type="text" name="max_commit_size" value="@@ri::max_commit_size@@" />
20 <label for="license" class="form_item_title">License</label><br />
21 <input type="text" name="license" value="@@ri::license@@" />
22 22 <br /> <br />
23 23 <br /> <br />
24 24
 
34 34 </select> </select>
35 35 <br /> <br />
36 36
37 <label for="max_commit_size" class="form_item_title">Max commit size (bytes, 0 = unlimited)</label><br />
38 <input type="text" name="max_commit_size" value="@@ri::max_commit_size@@" />
39 <br />
40 <br />
41
37 42 <input type="submit" name="button" value="@@if(@@ri::repo_id@@ == 0){{Create}}{{Update}}" /> <input type="submit" name="button" value="@@if(@@ri::repo_id@@ == 0){{Create}}{{Update}}" />
38 43
39 44 </form> </form>
File root/themes/default/repo/list/header.html changed (mode: 100644) (index 8ab11f2..a04eaf3)
6 6 <th>Clone of</th> <th>Clone of</th>
7 7 <th>Creation date (UTC)</th> <th>Creation date (UTC)</th>
8 8 <th>Type</th> <th>Type</th>
9 <th>License</th>
9 10 <th>Disk used</th> <th>Disk used</th>
10 11 </tr> </tr>
11 12
File root/themes/default/repo/list/line.html changed (mode: 100644) (index b1d50e3..2dccd42)
4 4 <td>@@clone_of@@</td> <td>@@clone_of@@</td>
5 5 <td>@@creation@@</td> <td>@@creation@@</td>
6 6 <td>@@if(@@public@@ == 1){{Public}}{{Private}}</td> <td>@@if(@@public@@ == 1){{Public}}{{Private}}</td>
7 <td>@@if("@@license@@" == ""){{Unspecified}}{{@@license@@}}</td>
7 8 <td>@@disk_used@@</td> <td>@@disk_used@@</td>
8 9 </tr> </tr>
File root/themes/default/repo/main.html changed (mode: 100644) (index 5b41e3b..a477de9)
4 4 <div class="repo_title"> <div class="repo_title">
5 5 <a href="@@url_user@@">@@page_ui::username@@</a> / <a href="@@url_repo@@">@@ri::name@@</a> <a href="@@url_user@@">@@page_ui::username@@</a> / <a href="@@url_repo@@">@@ri::name@@</a>
6 6 (@@if(@@ri::public@@ == 1){{public}}{{private}}) (@@if(@@ri::public@@ == 1){{public}}{{private}})
7 (License: @@if("@@ri::license@@" == ""){{Unspecified}}{{@@ri::license@@}})
7 8 </div> </div>
8 9 <div class="repo_desc"> <div class="repo_desc">
9 10 @@ri::description_nice@@ @@ri::description_nice@@
 
14 15
15 16 <div class="menu submenu"> <div class="menu submenu">
16 17 <ul> <ul>
17 <li><a @@if(@@per_repo_menu::history@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/history">Last events</a></li>
18 <li><a @@if(@@per_repo_menu::source@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/source">Source</a></li>
19 <li><a @@if(@@per_repo_menu::mr@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/mr">Merge requests</a></li>
20 <li><a @@if(@@per_repo_menu::bug@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/bug">Bugs</a></li>
21 @@if(@@can_admin@@ == 1){{<li><a @@if(@@per_repo_menu::admin@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/admin">Admin</a></li>}}{{}}
18 <li@@if(@@per_repo_menu::history@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/history">Last events</a></li>
19 <li@@if(@@per_repo_menu::source@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/source">Source</a></li>
20 <li@@if(@@per_repo_menu::mr@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/mr">Merge requests</a></li>
21 <li@@if(@@per_repo_menu::bug@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/bug">Bugs</a></li>
22 @@if(@@can_admin@@ == 1){{<li@@if(@@per_repo_menu::admin@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/admin">Admin</a></li>}}{{}}
22 23 </ul> </ul>
23 24 </div> </div>
24 25 @@repo_submenu@@ @@repo_submenu@@
25 26 </div> <!-- repo_header --> </div> <!-- repo_header -->
26 27
28 <!--TODO: this should go away/
27 29 <div class="repo_right"> <div class="repo_right">
28 30 @@repo_right@@ @@repo_right@@
29 </div> <!-- repo_right -->
31 </div> <! -- repo_right -- >
32 -->
30 33
31 34 <div class="repo_body"> <div class="repo_body">
32 35 @@repo_body@@ @@repo_body@@
File root/themes/default/repo/menu.html changed (mode: 100644) (index f8cd2f3..7d89af9)
1 1 <div class="menu menu2"> <div class="menu menu2">
2 2 <ul> <ul>
3 <li>
4 <a @@if(@@menu::sub1::list@@ == 1){{class="selected"}}{{}} href="/op/repo/list">List</a>
3 <li@@if(@@menu::sub1::list@@ == 1){{ class="selected"}}{{}}>
4 <a href="/op/repo/list">List</a>
5 5 </li> </li>
6 <li>
7 @@if(@@login_ui::uid@@ != 0){{
8 <a @@if(@@menu::sub1::create@@ == 1){{class="selected"}}{{}} href="/op/repo/create">Create</a>
9 }}{{
10 }}
6 @@if(@@login_ui::uid@@ != 0){{
7 <li@@if(@@menu::sub1::create@@ == 1){{ class="selected"}}{{}}>
8 <a href="/op/repo/create">Create</a>
11 9 </li> </li>
12 <li>
13 <a @@if(@@menu::sub1::search@@ == 1){{class="selected"}}{{}} href="/op/repo/search">Search</a>
10 }}{{
11 }}
12 <li@@if(@@menu::sub1::search@@ == 1){{ class="selected"}}{{}}>
13 <a href="/op/repo/search">Search</a>
14 14 </li> </li>
15 15 </ul> </ul>
16 16 </div> </div>
File root/themes/default/tos.html changed (mode: 100644) (index 3c84e06..26c1f1a)
2 2 <h2>Terms of service v1</h2> <h2>Terms of service v1</h2>
3 3 <ul> <ul>
4 4 <li>You must not abuse RocketGit servers.</li> <li>You must not abuse RocketGit servers.</li>
5 <li>You must not abuse others servers using RocketGit as a proxy.</li>
5 <li>You must not abuse other's servers using RocketGit as a proxy.</li>
6 6 <li>You must not upload illegal content.</li> <li>You must not upload illegal content.</li>
7 7 <li>You must not harass other users.</li> <li>You must not harass other users.</li>
8 8 <li>You must enjoy your stay here.</li> <li>You must enjoy your stay here.</li>
File root/themes/default/user/repo/menu.html changed (mode: 100644) (index 2762ce6..13c4a2c)
1 1 <div class="menu submenu"> <div class="menu submenu">
2 2 <ul> <ul>
3 <li><a @@if(@@menu::repo::edit@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/admin/edit">Edit</a></li>
4 <li><a @@if(@@menu::repo::repo_rights@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/admin/repo_rights">Repo rights</a></li>
5 <li><a @@if(@@menu::repo::refs_rights@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/admin/refs_rights">Refs rights</a></li>
6 <li><a @@if(@@menu::repo::path_rights@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/admin/path_rights">Path rights</a></li>
7 <li><a @@if(@@menu::repo::delete@@ == 1){{class="selected"}}{{}} href="@@url_repo@@/admin/delete">Delete</a></li>
3 <li@@if(@@menu::repo::edit@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/admin/edit">Edit</a></li>
4 <li@@if(@@menu::repo::repo_rights@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/admin/repo_rights">Repo rights</a></li>
5 <li@@if(@@menu::repo::refs_rights@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/admin/refs_rights">Refs rights</a></li>
6 <li@@if(@@menu::repo::path_rights@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/admin/path_rights">Path rights</a></li>
7 <li@@if(@@menu::repo::delete@@ == 1){{ class="selected"}}{{}}><a href="@@url_repo@@/admin/delete">Delete</a></li>
8 8 </ul> </ul>
9 9 </div> </div>
File root/themes/default/user/settings/menu.html changed (mode: 100644) (index f0ee360..668ed7c)
1 1 <div class="menu menu2"> <div class="menu menu2">
2 2 <ul> <ul>
3 <li><a @@if(@@menu::sub1::edit_info@@ == 1){{class="selected"}}{{}} href="/op/settings/edit_info">Edit info</a></li>
4 <li><a @@if(@@menu::sub1::change_pass@@ == 1){{class="selected"}}{{}} href="/op/settings/change_pass">Change password</a></li>
5 <li><a @@if(@@menu::sub1::keys@@ == 1){{class="selected"}}{{}} href="/op/settings/keys">SSH keys</a></li>
3 <li@@if(@@menu::sub1::edit_info@@ == 1){{ class="selected"}}{{}}><a href="/op/settings/edit_info">Edit info</a></li>
4 <li@@if(@@menu::sub1::change_pass@@ == 1){{ class="selected"}}{{}}><a href="/op/settings/change_pass">Change password</a></li>
5 <li@@if(@@menu::sub1::keys@@ == 1){{ class="selected"}}{{}}><a href="/op/settings/keys">SSH keys</a></li>
6 6 </ul> </ul>
7 7 </div> </div>
File tests/helpers.inc.php changed (mode: 100644) (index 064188a..fc0f776)
... ... function rg_test_create_repo($db, $rg_ui, &$extra)
110 110 $new['description'] = 'desc line1\ndesc line2' . '<xss>'; $new['description'] = 'desc line1\ndesc line2' . '<xss>';
111 111 $new['git_dir_done'] = 0; $new['git_dir_done'] = 0;
112 112 $new['public'] = 1; $new['public'] = 1;
113 $new['license'] = 'GPL <xss>';
113 114 $_repo_id++; $_repo_id++;
114 115
115 116 rg_log("Deleting repo " . $repo_id); rg_log("Deleting repo " . $repo_id);
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://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

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