Next: , Up: Getting Started   [Contents]


3.1 Initial Pull

To start using Forge in a certain repository visit the Magit status buffer for that repository and type F y (forge-pull).

The first time you do that for any repository from https://github.com you will be guided through the process of creating the API token. For other forges as well as for other Github instances some additional setup is required before you do so. See Token Creation.

The first time forge-pull is run in a repository, an entry for that repository is added to the database and a new value is added to the Git variable remote.<remote>.fetch, which fetches all pull-requests. (+refs/pull/*/head:refs/pullreqs/* for Github)

forge-pull then fetches topics and other information using the forge’s API and pull-request references using Git.

The initial fetch can take a while but most of that 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.