Merge branch 'ab/cred-netrc-no-autodie'
[gitweb.git] / Documentation / technical / protocol-v2.txt
index 4f7f25156910252ffb0b351379eff5922457bc8e..49bda76d231d08173a48593d0910b3cbc934f01c 100644 (file)
@@ -255,6 +255,10 @@ A `fetch` request can take the following arguments:
        to its base by position in pack rather than by an oid.  That is,
        they can read OBJ_OFS_DELTA (ake type 6) in a packfile.
 
+If the 'shallow' feature is advertised the following arguments can be
+included in the clients request as well as the potential addition of the
+'shallow-info' section in the server's response as explained below.
+
     shallow <oid>
        A client must notify the server of all commits for which it only
        has shallow copies (meaning that it doesn't have the parents of
@@ -286,6 +290,15 @@ A `fetch` request can take the following arguments:
        Cannot be used with "deepen", but can be used with
        "deepen-since".
 
+If the 'filter' feature is advertised, the following argument can be
+included in the client's request:
+
+    filter <filter-spec>
+       Request that various objects from the packfile be omitted
+       using one of several filtering techniques. These are intended
+       for use with partial clone and partial fetch operations. See
+       `rev-list` for possible "filter-spec" values.
+
 The response of `fetch` is broken into a number of sections separated by
 delimiter packets (0001), with each section beginning with its section
 header.
@@ -338,13 +351,13 @@ header.
          further negotiation is needed.
 
     shallow-info section
-       If the client has requested a shallow fetch/clone, a shallow
-       client requests a fetch or the server is shallow then the
-       server's response may include a shallow-info section.  The
-       shallow-info section will be included if (due to one of the
-       above conditions) the server needs to inform the client of any
-       shallow boundaries or adjustments to the clients already
-       existing shallow boundaries.
+       If the client has requested a shallow fetch/clone, a shallow
+         client requests a fetch or the server is shallow then the
+         server's response may include a shallow-info section.  The
+         shallow-info section will be included if (due to one of the
+         above conditions) the server needs to inform the client of any
+         shallow boundaries or adjustments to the clients already
+         existing shallow boundaries.
 
        * Always begins with the section header "shallow-info"
 
@@ -389,3 +402,13 @@ header.
                1 - pack data
                2 - progress messages
                3 - fatal error message just before stream aborts
+
+ server-option
+~~~~~~~~~~~~~~~
+
+If advertised, indicates that any number of server specific options can be
+included in a request.  This is done by sending each option as a
+"server-option=<option>" capability line in the capability-list section of
+a request.
+
+The provided options must not contain a NUL or LF character.