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("
PRs test-merged for this round:
") for (var/TM in test_merges) out += testmerge_short_overview(TM) out += "

" return out.Join() /datum/getrev/proc/generate_greeting_info() if (!test_merges.len) greeting_info = {"
There are currently no test merges loaded onto the server.
"} return var/list/out = list("

There are currently [test_merges.len] PRs being tested live.

", {""} ) for (var/TM in test_merges) out += testmerge_long_oveview(TM) out += "
" greeting_info = out.Join() /datum/getrev/proc/testmerge_initialize() var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs) if (api) LOG_DEBUG("GETREV: TGS API found.") test_merges = api.TestMerges() LOG_DEBUG("GETREV: [test_merges.len] test merges found.") else LOG_DEBUG("GETREV: No TGS API found.") test_merges = list() generate_greeting_info() /datum/getrev/proc/testmerge_short_overview(datum/tgs_revision_information/test_merge/tm) . = list() . += "

PR #[tm.number]: \"[html_encode(tm.title)]\"" . += "
\tAuthor: [html_encode(tm.author)]" if (config.githuburl) . += "
\t\[Details...\]" . += "

" /datum/getrev/proc/testmerge_long_oveview(datum/tgs_revision_information/test_merge/tm) var/divid = "pr[tm.number]" . = list() . += {""} . += {"PR #[tm.number] - [html_encode(tm.title)]"} . += {"
"} . += {""} . += {""} if (config.githuburl) . += {""} . += {""} if(tm.comment) . += {""} . += {"
Author:[html_encode(tm.author)]
Link to GitHub
Description:[html_encode(tm.body)]
Comment:[html_encode(tm.comment)]
"}