diff options
author | Runxi Yu <me@runxiyu.org> | 2025-03-31 15:14:11 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-03-31 15:19:40 +0800 |
commit | 0f35ae1fb99bc2f4db741e5f7b16273662459880 (patch) | |
tree | 64a371130c03772a58298a8dc0534acf40d72171 /git_hooks_handle_linux.go | |
parent | Per-tracker ticket IDs in the SQL schema (diff) | |
download | forge-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.go | 13 |
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: |