Merge branch 'jk/pkt-log-pack'
authorJunio C Hamano <gitster@pobox.com>
Mon, 3 Aug 2015 18:01:16 +0000 (11:01 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Aug 2015 18:01:16 +0000 (11:01 -0700)
Enhance packet tracing machinery to allow capturing an incoming
pack data to a file for debugging.

* jk/pkt-log-pack:
pkt-line: support tracing verbatim pack contents
pkt-line: tighten sideband PACK check when tracing
pkt-line: simplify starts_with checks in packet tracing

1  2 
Documentation/git.txt
diff --combined Documentation/git.txt
index f4cb5cb200cf69461d5af39d4c29b51138e4d3ec,345366937dcf46384790aca79b96dfe10e0a00a5..f87d3325f8b7bc02c7bfa74b6d242bd3d72af240
@@@ -43,18 -43,9 +43,18 @@@ unreleased) version of Git, that is ava
  branch of the `git.git` repository.
  Documentation for older releases are available here:
  
 -* link:v2.4.3/git.html[documentation for release 2.4.3]
 +* link:v2.5.0/git.html[documentation for release 2.5]
  
  * release notes for
 +  link:RelNotes/2.5.0.txt[2.5],
 +
 +* link:v2.4.7/git.html[documentation for release 2.4.7]
 +
 +* release notes for
 +  link:RelNotes/2.4.7.txt[2.4.7],
 +  link:RelNotes/2.4.6.txt[2.4.6],
 +  link:RelNotes/2.4.5.txt[2.4.5],
 +  link:RelNotes/2.4.4.txt[2.4.4],
    link:RelNotes/2.4.3.txt[2.4.3],
    link:RelNotes/2.4.2.txt[2.4.2],
    link:RelNotes/2.4.1.txt[2.4.1],
@@@ -851,7 -842,7 +851,7 @@@ Git so take care if using Cogito etc
        normally in $GIT_DIR will be taken from this path
        instead. Worktree-specific files such as HEAD or index are
        taken from $GIT_DIR. See linkgit:gitrepository-layout[5] and
 -      the section 'MULTIPLE CHECKOUT MODE' in linkgit:checkout[1]
 +      linkgit:git-worktree[1] for
        details. This variable has lower precedence than other path
        variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY...
  
@@@ -1009,9 -1000,20 +1009,20 @@@ Unsetting the variable, or setting it t
        Enables trace messages for all packets coming in or out of a
        given program. This can help with debugging object negotiation
        or other protocol issues. Tracing is turned off at a packet
-       starting with "PACK".
+       starting with "PACK" (but see 'GIT_TRACE_PACKFILE' below).
        See 'GIT_TRACE' for available trace output options.
  
+ 'GIT_TRACE_PACKFILE'::
+       Enables tracing of packfiles sent or received by a
+       given program. Unlike other trace output, this trace is
+       verbatim: no headers, and no quoting of binary data. You almost
+       certainly want to direct into a file (e.g.,
+       `GIT_TRACE_PACKFILE=/tmp/my.pack`) rather than displaying it on
+       the terminal or mixing it with other trace output.
+ +
+ Note that this is currently only implemented for the client side
+ of clones and fetches.
  'GIT_TRACE_PERFORMANCE'::
        Enables performance related trace messages, e.g. total execution
        time of each Git command.