Topics are listed in two sections in Magit’s status buffer, but can
also be listed in dedicated buffers. Likewise individual topics can
be visited in separate buffers. In both cases this can be done by
placing the cursor on the respective section in the status buffer and
typing RET
, or by invoking the appropriate command from Forge’s main
menu, on N
(forge-dispatch
).
List commands and corresponding menu commands exist for topics,
notifications and repositories, but there isn’t always an exclusive
mapping from menu to buffer. The main menu (forge-dispatch
), the
configuration menu (forge-configure
), the menu which controls the
current topic or the topic at point (forge-topic-menu
), and the
menu which controls the topics listed in the current buffer
(forge-topics-menu
), are useful in more than one major mode.
All of these menus feature bindings to directly switch to the other
appropriate menus. So it is enough to remember that N
always brings
up the dispatch menu; you can always navigate to another menu from
there.
C-c C-c
brings up the most appropriate menu for the current buffer.
In Magit’s status buffer the most appropriate menu is Magit’s own
dispatch menu (magit-dispatch
), so here the quickest way to invoke
Forge’s dispatch menu is N
. Even in Magit’s status buffer, when the
cursor is an individual topic or on a topic list section, C-c C-c
opens the respective menu (forge-topics-menu
or forge-topic-menu
).
The following sections describe most of the available menu and list
commands. For forge-topic-menu
, see Editing Topics.
forge-dispatch
) ¶This prefix menu command is available in all Magit buffers and provides access to most of the available Forge commands. See the following sections for information about the available commands.
forge-configure
) ¶This command displays a menu used to configure the current repository and some global settings as well.
forge-topics-menu
) ¶This command displays a menu used to control the list of topics displayed in the current buffer.
Note that this command can not only be used in buffers dedicated to listing topics, but also in Magit’s status buffer.
forge-list-topics
) ¶This command lists the current repository’s issues in a separate buffer. If the list buffer already exists, this command only ensures that all types of topics are listed. If any other filters are in effect, they are left intact. TODO fix preserving type
forge-list-issues
) ¶This command lists the current repository’s issues in a separate buffer. If the list buffer already exists, this command limits the list to issues. If any other filters are in effect, they are left intact.
forge-list-pullreqs
) ¶This command lists the current repository’s pull-requests in a separate buffer. If the list buffer already exists, this command limits the list to pull-requests. If any other filters are in effect, they are left intact.
forge-list-global-topics
) ¶This command lists topics across all tracked repository. If the list buffer already exists, filters except for the type filter are left in effect.
This command lists issues across all tracked repository. If the list buffer already exists, filters except for the type filter are left in effect.
This command lists pull-requests across all tracked repository. If the list buffer already exists, filters except for the type filter are in effect.
forge-notifications-menu
) ¶This command displays a menu used to control the list of notifications displayed in the current buffer.
forge-list-notifications
) ¶This command lists all notifications for all forges in a separate buffer.
forge-repositories-menu
) ¶This command displays a menu used to control the list of repositories displayed in the current buffer.
forge-list-repositories
) ¶This command lists all known repositories in a separate buffer. Here "known" means that an entry exists in the local database.
forge-visit-this-repository
) ¶This commands visits the repository at point in a separate buffer.
forge-list-owned-repositories
) ¶This command lists all known repositories that belong to the user in a separate buffer. Here "known" means that an entry exists in the local database. Only Github is supported for now.
The below options controls which repositories are considered to be
owned by the user. They are additionally used by forge-fork
.
This is an alist of accounts that are owned by you. This should include your username as well as any organization that you own.
Each element has the form (ACCOUNT . PLIST)
. The following
properties are currently being used:
remote-name
The default name suggested by forge-fork
for a fork
created within this account. If unspecified, then the name of the
account is used.
Example: (("tarsius") ("emacsmirror" remote-name "mirror"))
.
This is a list of repository names that are considered to not be
owned by you, even though they would have been considered to be
owned by you based on forge-owned-accounts
.
To exit a menu, type C-g
. If the menu was invoked from another menu
and that menu is useful in the current buffer, then that menu becomes
active again. If that happens and you actually want to quit all
menus, then just type C-g
again. You can also directly exit all menus
by using C-q
, instead of C-g
.
Type q
to quit not only the menu, but also the list or topic detail
buffer. That binding is also available when no menu is active, in
which case it will simply quit the buffer. When invoked from a menu,
then this binding may return to another list buffer, in which case
some menu may also remain active.
This option specifies the filters initially used to limit topics listed in topic list buffers.
This option specifies the filters initially used to limit topics listed in Magit status buffers.
Also see Topic sections in Magit status buffers.
Forge arranges for certain issues and pull-requests to be list in
Magit status buffers, by adding the following functions to
magit-status-sections-hook
.
Which topics are listed initially is customizable using option
forge-status-buffer-default-topic-filters
and can be changed
temporarily for the current buffer, using N m f
(‘forge-topics-menu’).
This function inserts a list of issues, by default a list of "active" issues.
This function inserts a list of pull-requests, by default a list of "active" pull-requests.
Forge used to provide additional functions to insert hard-coded topic
subsets, but they were removed in favor of the more flexible approach
described above. If you miss the removed sections, you can use the
new forge-insert-topics
helper function to define your own section
inserter functions. See its docstring for more information.
If you don’t want any topic list sections to be displayed in Magit
status buffers, set forge-add-default-sections
to nil
before magit
is
loaded.