diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index b254efc3fe4..05f2c5a59a3 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -324,7 +324,7 @@ SUBSYSTEM_DEF(ticker) var/arguments = list() if(GLOB.revdata.originmastercommit) to_set += "commit_hash = :commit_hash" - arguments["commit_hash"] = GLOB.revdata.originmastercommit + arguments["commit_hash"] = GLOB.revdata.GetDatabaseCommitSha() if(to_set.len) arguments["round_id"] = GLOB.round_id var/datum/db_query/query_round_game_mode = SSdbcore.NewQuery( diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index adb676acc2c..20ad08a77b6 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -41,6 +41,26 @@ return msg.Join("\n") +/datum/getrev/proc/GetDatabaseCommitSha() + . = originmastercommit + if (commit == .) + return . + + var/gh_url = CONFIG_GET(string/githuburl) + if(!gh_url) + return . + + var/datum/http_request/request = new() + request.prepare(RUSTG_HTTP_METHOD_GET, "[gh_url]/commit/[commit]", "", "") + request.begin_async() + UNTIL(request.is_complete()) + var/datum/http_response/response = request.into_response() + + if (response.status_code >= 200 && response.status_code < 300) + return commit + + return . + /datum/getrev/proc/GetTestMergeInfo(header = TRUE) if(!testmerge.len) return ""