aboutsummaryrefslogtreecommitdiff
path: root/git_hooks_handle_linux.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-03-31 15:14:11 +0800
committerRunxi Yu <me@runxiyu.org>2025-03-31 15:19:40 +0800
commit0f35ae1fb99bc2f4db741e5f7b16273662459880 (patch)
tree64a371130c03772a58298a8dc0534acf40d72171 /git_hooks_handle_linux.go
parentPer-tracker ticket IDs in the SQL schema (diff)
downloadforge-0f35ae1fb99bc2f4db741e5f7b16273662459880.tar.gz
forge-0f35ae1fb99bc2f4db741e5f7b16273662459880.tar.zst
forge-0f35ae1fb99bc2f4db741e5f7b16273662459880.zip
Per-repo merge request sequences
Diffstat (limited to '')
-rw-r--r--git_hooks_handle_linux.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/git_hooks_handle_linux.go b/git_hooks_handle_linux.go
index 686d560..812a429 100644
--- a/git_hooks_handle_linux.go
+++ b/git_hooks_handle_linux.go
@@ -229,25 +229,26 @@ func hooksHandler(conn net.Conn) {
if strings.HasPrefix(refName, "refs/heads/contrib/") {
if allZero(oldOID) { // New branch
fmt.Fprintln(sshStderr, ansiec.Blue+"POK"+ansiec.Reset, refName)
- var newMRID int
+ var newMRLocalID int
if packPass.userID != 0 {
err = database.QueryRow(ctx,
- "INSERT INTO merge_requests (repo_id, creator, source_ref, status) VALUES ($1, $2, $3, 'open') RETURNING id",
+ "INSERT INTO merge_requests (repo_id, creator, source_ref, status) VALUES ($1, $2, $3, 'open') RETURNING repo_local_id",
packPass.repoID, packPass.userID, strings.TrimPrefix(refName, "refs/heads/"),
- ).Scan(&newMRID)
+ ).Scan(&newMRLocalID)
} else {
err = database.QueryRow(ctx,
- "INSERT INTO merge_requests (repo_id, source_ref, status) VALUES ($1, $2, 'open') RETURNING id",
+ "INSERT INTO merge_requests (repo_id, source_ref, status) VALUES ($1, $2, 'open') RETURNING repo_local_id",
packPass.repoID, strings.TrimPrefix(refName, "refs/heads/"),
- ).Scan(&newMRID)
+ ).Scan(&newMRLocalID)
}
if err != nil {
writeRedError(sshStderr, "Error creating merge request: %v", err)
return 1
}
- mergeRequestWebURL := fmt.Sprintf("%s/contrib/%d/", genHTTPRemoteURL(packPass.groupPath, packPass.repoName), newMRID)
+ mergeRequestWebURL := fmt.Sprintf("%s/contrib/%d/", genHTTPRemoteURL(packPass.groupPath, packPass.repoName), newMRLocalID)
fmt.Fprintln(sshStderr, ansiec.Blue+"Created merge request at", mergeRequestWebURL+ansiec.Reset)
+
select {
case ircSendBuffered <- "PRIVMSG #chat :New merge request at " + mergeRequestWebURL:
default: