To start using Forge in a certain repository, visit the Magit status
buffer for that repository and type N / a
(forge-add-repository
). You
are given a choice to pull all topics, all topics that were updated
after a certain date, or only individual topics.
Beside adding the repository to the database, this also adds a new
value to the Git variable remote.<remote>.fetch
, which causes all
pull-request refs (+refs/pull/*/head:refs/pullreqs/*
for Github)
to be fetched by Git.
Note that it is possible to use the same command to add any repository from a supported forge to the database, without cloning the Git repository first.
The initial fetch can take a while but most of the work is done asynchronously. Storing the information in the database is done synchronously though, so there can be a noticeable hang at the end. Subsequent fetches are much faster.
Fetching issues from Github is much faster than fetching from other forges, because making a handful of GraphQL requests, is much faster than making hundreds of REST requests.