var/global/datum/getrev/revdata = new()
/hook/startup/proc/initialize_test_merges()
if (!revdata)
log_debug("GETREV: No rev found.")
return TRUE
revdata.testmerge_initialize()
return TRUE
/datum/getrev
var/branch
var/revision
var/date
var/showinfo
var/list/datum/tgs_revision_information/test_merge/test_merges
var/greeting_info
/datum/getrev/New()
var/list/head_branch = file2list(".git/HEAD", "\n")
if(head_branch.len)
branch = copytext(head_branch[1], 17)
var/list/head_log = file2list(".git/logs/HEAD", "\n")
for(var/line=head_log.len, line>=1, line--)
if(head_log[line])
var/list/last_entry = text2list(head_log[line], " ")
if(last_entry.len < 2) continue
revision = last_entry[2]
// Get date/time
if(last_entry.len >= 5)
var/unix_time = text2num(last_entry[5])
if(unix_time)
date = unix2date(unix_time)
break
world.log << "Running revision:"
world.log << branch
world.log << date
world.log << revision
client/verb/showrevinfo()
set category = "OOC"
set name = "Show Server Revision"
set desc = "Check the current server code revision"
if(revdata.revision)
to_chat(src, "Server revision: [revdata.branch] - [revdata.date]")
if(config.githuburl)
to_chat(src, "[revdata.revision]")
else
to_chat(src, revdata.revision)
else
to_chat(src, "Revision unknown")
to_chat(src, "Current Map: [current_map.full_name]")
/datum/getrev/proc/testmerge_overview()
if (!test_merges.len)
return
var/list/out = list("
There are currently [test_merges.len] PRs being tested live.
", {"PR #[tm.number]: \"[html_encode(tm.title)]\""
. += "
\tAuthor: [html_encode(tm.author)]"
if (config.githuburl)
. += "
\t\[Details...\]"
. += "
| Author: | [html_encode(tm.author)] |
|---|---|
| Merged: | [tm.time_merged] |
| Link to Github | |
| Description: | [html_encode(tm.body)] |