Import gitlab MRs into a local repository
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Imports gitlab MRs into the local repository using the git series format.


Start by adding a "gitlab" section to your repo's config file (.git/config):

    projectId = 42
    url =
    privateToken = "xyz123abc456pqr789st"

You can get a private token from if you don't have one yet.


The working directory must be within a checkout of the specified project. If gitlab-sync can't find the branches referenced by an MR, it will fail to import it.

Each MR is imported as a git series. If a series already exists, it is updated. If you run gitlab-sync regularly you get the complete history of all MRs.

By default, only open MRs are imported (override with -a).

If gitlab-sync fails while communicating with gitlab, it may be due to a gitlab version incompatibility. You can fix this by changing the version of the gitlab package in Cargo.toml so that it matches your version of gitlab. (See here for more information.)

I imported some MRs; now what?

The MRs are imported in the format understood by git-series, so you could use that; but these days (git-2.19+) you don't even need to have git-series installed to view the ddiffs - it's supported in the base distribution!

Suppose you reviewed MR !2572 last week, but the author has pushed 13 times since then. To see the changes since your last review, simply:

$ SERIES=git-series/gitlab/2572
$ git range-diff ${SERIES}~13:base..${SERIES}~13:series ${SERIES}:base..${SERIES}:series

Try it! I'm pretty sure this is the best way to re-review a branch.


This is free and unencumbered software released into the public domain. See UNLICENSE or