Max Horn committed 754cb1a

git-remote-helpers.txt: clarify command <-> capability correspondences

In particular, document 'list for-push' separately from 'list', as
the former needs only be supported for the push/export
capabilities, and the latter only for fetch/import. Indeed, a
hypothetically 'push-only' helper would only need to support the
former, not the latter.

Signed-off-by: Max Horn <>
Acked-by: Sverre Rabbelier <>
Signed-off-by: Junio C Hamano <>

  • Participants
  • Parent commits 0673bb2

Comments (0)

Files changed (1)

File Documentation/git-remote-helpers.txt

 	which marks them mandatory for git versions using the remote
 	helper to understand. Any unknown mandatory capability is a
 	fatal error.
+Support for this command is mandatory.
 	Lists the refs, one per line, in the format "<value> <name>
 	the name; unrecognized attributes are ignored. The list ends
 	with a blank line.
-If 'push' is supported this may be called as 'list for-push'
-to obtain the current refs prior to sending one or more 'push'
-commands to the helper.
+Supported if the helper has the "fetch" or "import" capability.
+'list for-push'::
+	Similar to 'list', except that it is used if and only if
+	the caller wants to the resulting ref list to prepare
+	push commands.
+	A helper supporting both push and fetch can use this
+	to distinguish for which operation the output of 'list'
+	is going to be used, possibly reducing the amount
+	of work that needs to be performed.
+Supported if the helper has the "push" or "export" capability.
 'option' <name> <value>::
 	Sets the transport helper option <name> to <value>.  Outputs a
 to prevent mixing of commands and fast-import responses on the helper's
-Supported if the helper has the 'import' capability.
+Supported if the helper has the "import" capability.
 	Instructs the remote helper that any subsequent input is
 local objects. This can be used to implement for incremental
-Supported if the helper has the 'export' capability.
+Supported if the helper has the "export" capability.
 'connect' <service>::
 	Connects to given service. Standard input and standard output