diff --git a/code/controllers/master.dm b/code/controllers/master.dm index f05714702b..d714e8c0c1 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -191,6 +191,8 @@ GLOBAL_REAL(Master, /datum/controller/master) = new if (!current_runlevel) SetRunLevel(RUNLEVEL_LOBBY) + GLOB.revdata = new // It can load revdata now, from tgs or .git or whatever + // Sort subsystems by display setting for easy access. sortTim(subsystems, /proc/cmp_subsystem_display) // Set world options. diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 7c214e3a29..7cfac614e6 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -1,4 +1,4 @@ -var/global/datum/getrev/revdata = new() +GLOBAL_DATUM(revdata, /datum/getrev) /datum/getrev var/branch @@ -40,40 +40,46 @@ var/global/datum/getrev/revdata = new() to_world_log("Revision: [revision]") /datum/getrev/proc/GetTestMergeInfo(header = TRUE) + . = list() if(!testmerge.len) - return "" - . = header ? "The following pull requests are currently test merged:
" : "" + return + if(header) + . += "The following pull requests are currently test merged:" for(var/line in testmerge) var/datum/tgs_revision_information/test_merge/tm = line var/cm = tm.pull_request_commit var/details = ": '" + html_encode(tm.title) + "' by " + html_encode(tm.author) + " at commit " + html_encode(copytext_char(cm, 1, 11)) if(details && findtext(details, "\[s\]") && (!usr || !usr.client.holder)) continue - . += "#[tm.number][details]
" + . += "#[tm.number][details]" client/verb/showrevinfo() set category = "OOC" set name = "Show Server Revision" set desc = "Check the current server code revision" + if(!GLOB.revdata) + to_chat(src, "Please wait until server initializations are complete.") + return + var/list/msg = list() - if(revdata.revision) - msg += "Server revision: [revdata.branch] - [revdata.date]" + if(GLOB.revdata.revision) + msg += "Server revision: B:[GLOB.revdata.branch] D:[GLOB.revdata.date]" if(config.githuburl) - msg += "[revdata.revision]" + msg += "Commit: [GLOB.revdata.revision]" else - to_chat(src,revdata.revision) + msg += "Commit: GLOB.revdata.revision" else msg += "Server revision: Unknown" if(world.TgsAvailable()) var/datum/tgs_version/version = world.TgsVersion() - msg += "TGS version: [version.raw_parameter]" + msg += "TGS version: [version.raw_parameter]" var/datum/tgs_version/api_version = world.TgsApiVersion() - msg += "DMAPI version: [api_version.raw_parameter]" + msg += "DMAPI version: [api_version.raw_parameter]" - if(revdata.testmerge.len) - msg += revdata.GetTestMergeInfo() + if(GLOB.revdata.testmerge.len) + msg += GLOB.revdata.GetTestMergeInfo() to_chat(src, msg.Join("
")) diff --git a/code/game/world.dm b/code/game/world.dm index 1ffffcbbc5..18568ed60d 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -214,8 +214,8 @@ var/world_topic_spam_protect_time = world.timeofday return list2params(positions) else if(T == "revision") - if(revdata.revision) - return list2params(list(branch = revdata.branch, date = revdata.date, revision = revdata.revision)) + if(GLOB.revdata.revision) + return list2params(list(branch = GLOB.revdata.branch, date = GLOB.revdata.date, revision = GLOB.revdata.revision)) else return "unknown"