/hooks/post-receive (f248f7ae112c9c02f7b3b7a9630296a283ae29db) (1834 bytes) (mode 100755) (type blob)
#!/usr/bin/php
<?php
//
// post-receive hook
// TODO: This hook can be run for marking repo dirty.
// It is executed once, input is the list of SUCCESSFULLY updated ref.
// The exit code is ignored.
// Useful to send mails.
// Warn: new_ref may not point to ref because of concurrent updates.
// TODO: Re-check man githooks and git-receive-pack!
//
error_reporting(E_ALL);
ini_set("track_errors", "On");
$_start = microtime(TRUE);
$rg_log_sid = getenv('ROCKETGIT_LOG_SID');
$conf = getenv("ROCKETGIT_CONF_FILE");
if (empty($conf))
$conf = "/etc/rocketgit/config.php";
require_once($conf);
$INC = $rg_scripts . "/inc";
require_once($INC . "/init.inc.php");
require_once($INC . "/util.inc.php");
require_once($INC . "/log.inc.php");
require_once($INC . "/sql.inc.php");
require_once($INC . "/repo.inc.php");
require_once($INC . "/prof.inc.php");
rg_prof_start('post-receive');
rg_log_set_file($rg_log_dir . "/hook_post-receive.log");
$namespace = getenv("GIT_NAMESPACE");
$repo_path = getenv("ROCKETGIT_REPO_PATH");
rg_log("Start namespace=$namespace repo_path=$repo_path");
rg_log("_SERVER: " . rg_array2string($_SERVER));
umask(0077);
while (($set = fgets(STDIN))) {
$set = trim($set);
if (empty($set))
continue;
$x = explode(' ', $set);
$old_rev = @rg_git_rev($x[0]);
$new_rev = @rg_git_rev($x[1]);
$refname = @rg_git_reference($x[2]);
if ($refname === FALSE)
rg_git_fatal('Invalid reference: ' . rg_git_error() . '!');
if (empty($refname) || empty($old_rev) || empty($new_rev))
rg_git_fatal("Invalid parameters [$old_rev $new_rev $refname]!");
rg_log("refname=$refname old_rev=$old_rev new_rev=$new_rev.");
}
$r = rg_del_tree($repo_path . '/refs/namespaces/' . $namespace);
if ($r === FALSE)
rg_internal_error('cannot delete tree: ' . rg_util_error());
rg_prof_end('post-receive');
rg_prof_log();
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
9 |
f3c7a7c5da68804a1bdf391127ba34aed33c3cca |
.exclude |
100644 |
blob |
102 |
eaeb7d777062c60a55cdd4b5734902cdf6e1790c |
.gitignore |
100644 |
blob |
375 |
1f425bcd2049c526744d449511094fc045ceac74 |
AUTHORS |
100644 |
blob |
1132 |
dd65951315f3de6d52d52a82fca59889d1d95187 |
Certs.txt |
100644 |
blob |
1434 |
a05c9b5350fe6367d40c83c1da2eb95441016969 |
History.txt |
100644 |
blob |
34520 |
dba13ed2ddf783ee8118c6a581dbf75305f816a3 |
LICENSE |
100644 |
blob |
3280 |
e71cdfe4c88b5a144f35719874e72ce508b1c854 |
Makefile.in |
100644 |
blob |
5867 |
0c5899445818b82269b17da3fff4c39a89f760bb |
README |
100644 |
blob |
151094 |
e90fc1933e73d20c49028c369411d27bc2d99407 |
TODO |
100644 |
blob |
1294 |
f22911eb777f0695fcf81ad686eac133eb11fcc4 |
TODO-plans |
100644 |
blob |
203 |
a2863c67c3da44126b61a15a6f09738c25e0fbe0 |
TODO.perf |
100644 |
blob |
967 |
56bbaa7c937381fb10a2907b6bbe056ef8cc824a |
TODO.vm |
040000 |
tree |
- |
21928e906ad2907a55c2e81c2a8b0502b586b8a0 |
artwork |
100644 |
blob |
5596 |
c403f2d1bf9b582026a1b4d42447118acea9bdc7 |
compare.csv |
100755 |
blob |
30 |
92c4bc48245c00408cd7e1fd89bc1a03058f4ce4 |
configure |
040000 |
tree |
- |
03c8adc1d40f2218407164412524c8a59cc24542 |
debian |
040000 |
tree |
- |
e6949523536cb43048b767d7e3661ee2837f04b8 |
docker |
040000 |
tree |
- |
f67d3605efbd6422a8acdd953578991139266391 |
docs |
100755 |
blob |
16720 |
52405deef0d3708e7553022e1e9db73faa28d05c |
duilder |
100644 |
blob |
536 |
7e834f8f0a52ada786dd978522cd0f310e2438f6 |
duilder.conf |
040000 |
tree |
- |
5482f09eab630acc00f6507d9732ba657e8cadf1 |
hooks |
040000 |
tree |
- |
c1d370058ea4698f630532bcc5d6923009b8a98b |
inc |
040000 |
tree |
- |
e255ce234c3993998edc12bc7e93fff555376eda |
misc |
100644 |
blob |
4576 |
549c56428615002dd1bd0dab413c5e4c05c6d02d |
rocketgit.spec.in |
040000 |
tree |
- |
00d542f0fa3793cffb099af1a700de021575d154 |
root |
040000 |
tree |
- |
a28d727d9d0ce55e9c742b1d23f7d9b49101bc38 |
samples |
040000 |
tree |
- |
c5012c660847366f4729028d6cf4050ebf11cf5f |
scripts |
040000 |
tree |
- |
8d287566a2deca8cb87248003f09e22604c837b4 |
selinux |
100755 |
blob |
256 |
462ccd108c431f54e380cdac2329129875a318b5 |
spell_check.sh |
040000 |
tree |
- |
3aee54193d1f2fb794cb1133433e4645b864f5a0 |
techdocs |
040000 |
tree |
- |
5cc17ab6a66a09107aee789d8586e287d3a0eea5 |
tests |
040000 |
tree |
- |
3a262971aa172ade74d5a4930e04393918ca1911 |
tools |
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