What's difference between stacked PRs and merge trains in gitlab?

Merge trains are an integration method. In GitHub that’s called merge queues.

Stacked PRs are a development method, for managing changes which are separate but dependent on one another (stacked).

The two are orthogonal they can be used together or independently (or not at all).

Ahh so stacked diffs? https://docs.gitlab.com/user/project/merge_requests/stacked_...

Yes, except with a proper UI. Also while you could do this on GitHub before in the same way that that Gitlab feature works, it didn't work cross-repo so in practice it wasn't an option for most open source code.

I can't remember if Gitlab has the same limitations but I do remember trying to use Gitlab's stacked diffs and finding them to not work very well. Can't remember why tbh.