From ab13fdeea6f8ee9dee9956efb271c76836be64fe Mon Sep 17 00:00:00 2001
From: Erik Baars <baarserik@hotmail.com>
Date: Mon, 17 Mar 2025 11:31:52 +0100
Subject: [PATCH 1/3] Added support for merge_train endpoint

The merge_train endpoint allows a merge/pull request to be added to a merge train, rather than merging directly.
---
 src/Api/MergeRequests.php | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/Api/MergeRequests.php b/src/Api/MergeRequests.php
index 83d5b7d0..e8c5ea7d 100644
--- a/src/Api/MergeRequests.php
+++ b/src/Api/MergeRequests.php
@@ -202,6 +202,11 @@ public function merge(int|string $project_id, int $mr_iid, array $parameters = [
         return $this->put($this->getProjectPath($project_id, 'merge_requests/'.self::encodePath($mr_iid).'/merge'), $parameters);
     }
 
+    public function mergeTrain($project_id, int $mr_iid, array $parameters = [])
+    {
+        return $this->put($this->getProjectPath($project_id, 'merge_trains/merge_requests/'.self::encodePath($mr_iid)), $parameters);
+    }
+    
     public function showNotes(int|string $project_id, int $mr_iid): mixed
     {
         return $this->get($this->getProjectPath($project_id, 'merge_requests/'.self::encodePath($mr_iid).'/notes'));

From e95c45b1ac8d4cd343cd297f89a4b7cebfadc1d0 Mon Sep 17 00:00:00 2001
From: Erik Baars <baarserik@hotmail.com>
Date: Mon, 17 Mar 2025 11:34:40 +0100
Subject: [PATCH 2/3] Removed redundant spaces.

---
 src/Api/MergeRequests.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Api/MergeRequests.php b/src/Api/MergeRequests.php
index e8c5ea7d..fff0b868 100644
--- a/src/Api/MergeRequests.php
+++ b/src/Api/MergeRequests.php
@@ -206,7 +206,7 @@ public function mergeTrain($project_id, int $mr_iid, array $parameters = [])
     {
         return $this->put($this->getProjectPath($project_id, 'merge_trains/merge_requests/'.self::encodePath($mr_iid)), $parameters);
     }
-    
+
     public function showNotes(int|string $project_id, int $mr_iid): mixed
     {
         return $this->get($this->getProjectPath($project_id, 'merge_requests/'.self::encodePath($mr_iid).'/notes'));

From 69ad37778d7f902dbd0740a8ef3f3250030640e7 Mon Sep 17 00:00:00 2001
From: Erik Baars <baarserik@hotmail.com>
Date: Mon, 17 Mar 2025 11:36:12 +0100
Subject: [PATCH 3/3] Fixed incorrect request

put should have been post. Woops!
---
 src/Api/MergeRequests.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Api/MergeRequests.php b/src/Api/MergeRequests.php
index fff0b868..9eab4d90 100644
--- a/src/Api/MergeRequests.php
+++ b/src/Api/MergeRequests.php
@@ -204,7 +204,7 @@ public function merge(int|string $project_id, int $mr_iid, array $parameters = [
 
     public function mergeTrain($project_id, int $mr_iid, array $parameters = [])
     {
-        return $this->put($this->getProjectPath($project_id, 'merge_trains/merge_requests/'.self::encodePath($mr_iid)), $parameters);
+        return $this->post($this->getProjectPath($project_id, 'merge_trains/merge_requests/'.self::encodePath($mr_iid)), $parameters);
     }
 
     public function showNotes(int|string $project_id, int $mr_iid): mixed