tj.git-extras/man/git-mr.md
Vijay Misal 8cd8741a3f
feat(mr): support Forgejo/Codeberg pull request URLs
Codeberg and other Forgejo instances expose pull requests under
refs/pull/<id>/head instead of GitLab's refs/merge-requests/<id>/head,
so passing a Codeberg pull request URL to git mr fetched the wrong
ref. Recognize the /pulls/<id> URL shape and switch to the matching
ref for that case, leaving the GitLab URL and bare numeric id
behavior unchanged.

Closes #1213
2026-08-19 18:14:30 +05:30

1.3 KiB

git-mr(1) -- Checks out a merge request locally

SYNOPSIS

git-mr <number> [<remote>]
git-mr <url>
git-mr clean

DESCRIPTION

Fetches merge request head by its number or URl and check it out in a branch named with merge request number.

OPTIONS

<remote>

The name of the remote to fetch from. Defaults to origin.

<url>

GitLab merge request URL in the format https://gitlab.tld/owner/repository/merge_requests/453, or a Forgejo/Codeberg pull request URL in the format https://codeberg.tld/owner/repository/pulls/453.

EXAMPLES

This checks out merge request !51 from remote origin to branch mr/51.

$ git mr 51
From gitlab.com:owner/repository
 * [new ref]         refs/merge-requests/51/head -> mr/51
Switched to branch 'mr/51'

This checks out pull request #51 from a Forgejo/Codeberg URL to branch mr/51.

$ git mr https://codeberg.org/owner/repository/pulls/51
From codeberg.org:owner/repository
 * [new ref]         refs/pull/51/head -> mr/51
Switched to branch 'mr/51'

AUTHOR

Written by Étienne BERSAC bersace03@gmail.com from git-pr(1).

REPORTING BUGS

<https://github.com/tj/git-extras/issues>

SEE ALSO

<https://github.com/tj/git-extras>