I'm not sure of the best way to include this information, so I'm just going to inline it. I've edited this log file to remove several tens of thousands of lines of object hashes and operational refnames. I've annotated it with some guesses of what things might mean. I'm still *relatively* new to reading such log files for serious debugging.
08:30:47.655623 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
08:30:47.655623 git.c:460 trace: built-in: git push --no-verify -o emc2.enable-logging git@$REPO.git FETCH_HEAD:refs/tags/hswebrec/app/stage1/latestThis is the command actually run in the foreground. As you might surmise, we're uing Git4Win. It's worth noting that FETCH_HEAD here is 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5.
08:30:47.655623 run-command.c:655 trace: run_command: unset GIT_PREFIX; ssh git@$REPO_HOST 'git-receive-pack '\''$REPO_PROJECT.git'\'''
08:30:48.100544 pkt-line.c:80 packet: push< 4edfa5e150857e21c686826e1e430f6b014ed173 refs/archive/app/devnull\0report-status report-status-v2 delete-refs side-band-64k quiet atomic ofs-delta push-options object-format=sha1 agent=git/2.38.4.gl1
08:30:48.100544 pkt-line.c:80 packet: push< 5d27e7331f08365c9bb3d342ae020807a386f42a refs/heads/app/10.1/stage1 ---8<--- literally thousands of refs removed...
08:30:49.121310 pkt-line.c:80 packet: push< 90c12d8c0ad0559047b3b9de78d948901fcffac3 refs/tags/zrb/I10121236/726711
08:30:49.121310 pkt-line.c:80 packet: push< 90c12d8c0ad0559047b3b9de78d948901fcffac3 refs/tags/zrb/I10121236/726712
08:30:49.121310 pkt-line.c:80 packet: push< 0000Looks like the above was the remote telling the client what objects it has by virtue of what refs it is tracking.
08:30:49.193113 pkt-line.c:80 packet: push> shallow 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5
08:30:49.193113 pkt-line.c:80 packet: push> 0000000000000000000000000000000000000000 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5 refs/tags/hswebrec/app/stage1/latest\0 report-status-v2 side-band-64k quiet push-options object-format=sha1 agent=git/2.39.2.windows.1
08:30:49.193113 pkt-line.c:80 packet: push> 0000And this is the client telling the remote what objects it has ('shallow 0962f6...'?) and what changes it would like to make.
08:30:49.193113 pkt-line.c:80 packet: push> emc2.enable-logging
08:30:49.193113 pkt-line.c:80 packet: push> 0000...as well as our push-option that enabled more logging for us (nothing relevant to Git communication -- mostly just internal web services and print-statement debugging).
08:30:49.193113 run-command.c:655 trace: run_command: git pack-objects --all-progress-implied --revs --stdout --thin --delta-base-offset -q --shallow
08:30:49.224949 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:30:49.224949 git.c:460 trace: built-in: git pack-objects --all-progress-implied --revs --stdout --thin --delta-base-offset -q --shallow
08:30:49.224949 run-command.c:655 trace: run_command: git -c fetch.negotiationAlgorithm=noop fetch git@$REPO.git --no-tags --no-write-fetch-head --recurse-submodules=no --filter=blob:none --stdin
08:30:49.246673 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:30:49.256718 git.c:460 trace: built-in: git fetch git@$REPO.git --no-tags --no-write-fetch-head --recurse-submodules=no --filter=blob:none --stdin
08:30:49.256718 run-command.c:655 trace: run_command: unset GIT_CONFIG_PARAMETERS GIT_PREFIX; GIT_PROTOCOL=version=2 ssh -o SendEnv=GIT_PROTOCOL git@tracklab.epic.com 'git-upload-pack '\''epic/test/trackdev/mono-23/app.git'\'''It looks like this is the client initiating a fetch.
08:30:49.699720 pkt-line.c:80 packet: fetch< version 2
08:30:49.699720 pkt-line.c:80 packet: fetch< agent=git/2.38.4.gl1
08:30:49.699720 pkt-line.c:80 packet: fetch< ls-refs=unborn
08:30:49.699720 pkt-line.c:80 packet: fetch< fetch=shallow wait-for-done filter
08:30:49.699720 pkt-line.c:80 packet: fetch< server-option
08:30:49.699720 pkt-line.c:80 packet: fetch< object-format=sha1
08:30:49.699720 pkt-line.c:80 packet: fetch< object-infoThe remote tells the client what version it is so the client can send a request the remote understands.
08:30:49.699720 pkt-line.c:80 packet: fetch< 0000
08:30:49.699720 pkt-line.c:80 packet: fetch> command=fetch
08:30:49.699720 pkt-line.c:80 packet: fetch> agent=git/2.39.2.windows.1
08:30:49.699720 pkt-line.c:80 packet: fetch> object-format=sha1
08:30:49.699720 pkt-line.c:80 packet: fetch> 0001
08:30:49.699720 pkt-line.c:80 packet: fetch> thin-pack
08:30:49.699720 pkt-line.c:80 packet: fetch> no-progress
08:30:49.699720 pkt-line.c:80 packet: fetch> ofs-delta
08:30:49.699720 pkt-line.c:80 packet: fetch> shallow 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5
08:30:49.699720 pkt-line.c:80 packet: fetch> filter blob:none
08:30:49.699720 pkt-line.c:80 packet: fetch> want 8da2fa849db733188b1820865deb800d8e6abfc6
08:30:49.699720 pkt-line.c:80 packet: fetch> done
08:30:49.699720 pkt-line.c:80 packet: fetch> 0000The client asks the remote for content. Looks like the filter here got changed from tree:0 to blob:none. This could be the bug -- and could explain the 'weird' amount of content that was actually downloaded. A fully-fleshed-out clone would be about 8GB, but I could certainly see a blobless history being ~700MB. Interesting to note here that 0962f6^{tree} is 8da2fa.
08:30:49.715316 pkt-line.c:80 packet: fetch< shallow-info
08:30:49.715316 pkt-line.c:80 packet: fetch< 0001
08:30:49.715316 pkt-line.c:80 packet: fetch< packfileNot sure what this bit is, to be honest.
08:30:50.527739 pkt-line.c:80 packet: sideband< PACK ...
08:30:50.542281 run-command.c:655 trace: run_command: git index-pack --stdin --fix-thin '--keep=fetch-pack 6448 on win-pool7447' --promisor --pack_header=2,71814
08:30:50.574053 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:30:50.590271 git.c:460 trace: built-in: git index-pack --stdin --fix-thin '--keep=fetch-pack 6448 on win-pool7447' --promisor --pack_header=2,71814
08:30:53.027721 pkt-line.c:80 packet: sideband< 0000
08:30:53.200395 run-command.c:655 trace: run_command: git maintenance run --auto --no-quiet
08:30:53.246231 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:30:53.248264 git.c:460 trace: built-in: git maintenance run --auto --no-quiet
08:30:59.362381 run-command.c:655 trace: run_command: git -c fetch.negotiationAlgorithm=noop fetch git@$REPO.git --no-tags --no-write-fetch-head --recurse-submodules=no --filter=blob:none --stdin
08:30:59.378458 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:30:59.394133 git.c:460 trace: built-in: git fetch git@$REPO.git --no-tags --no-write-fetch-head --recurse-submodules=no --filter=blob:none --stdin
08:33:28.966748 run-command.c:655 trace: run_command: unset GIT_CONFIG_PARAMETERS GIT_PREFIX; GIT_PROTOCOL=version=2 ssh -o SendEnv=GIT_PROTOCOL git@tracklab.epic.com 'git-upload-pack '\''epic/test/trackdev/mono-23/app.git'\'''Nor why we'd go through a separate round of fetching.
08:33:29.530124 pkt-line.c:80 packet: fetch< version 2
08:33:29.530124 pkt-line.c:80 packet: fetch< agent=git/2.38.4.gl1
08:33:29.530124 pkt-line.c:80 packet: fetch< ls-refs=unborn
08:33:29.530124 pkt-line.c:80 packet: fetch< fetch=shallow wait-for-done filter
08:33:29.530124 pkt-line.c:80 packet: fetch< server-option
08:33:29.530124 pkt-line.c:80 packet: fetch< object-format=sha1
08:33:29.530124 pkt-line.c:80 packet: fetch< object-info
08:33:29.530124 pkt-line.c:80 packet: fetch< 0000
08:33:51.764098 pkt-line.c:80 packet: fetch> command=fetch
08:33:51.764098 pkt-line.c:80 packet: fetch> agent=git/2.39.2.windows.1
08:33:51.764098 pkt-line.c:80 packet: fetch> object-format=sha1
08:33:51.764098 pkt-line.c:80 packet: fetch> 0001
08:33:51.764098 pkt-line.c:80 packet: fetch> thin-pack
08:33:51.764098 pkt-line.c:80 packet: fetch> no-progress
08:33:51.764098 pkt-line.c:80 packet: fetch> ofs-delta
08:33:51.764098 pkt-line.c:80 packet: fetch> shallow 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5
08:33:51.764098 pkt-line.c:80 packet: fetch> filter blob:noneBut we can see this blob:none 'mistake' again...
08:33:51.764098 pkt-line.c:80 packet: fetch> want 0000063ae70e4385b0527df060daf0a81b306c8d
08:33:51.764098 pkt-line.c:80 packet: fetch> want 00003efd5bd3b3795950588f7d051e8d0b42def3 ---8<--- many, many thousands of objects removed
08:33:54.154726 pkt-line.c:80 packet: fetch> want ffffd8aad00ab11c0672096203f57564b286da08
08:33:54.154726 pkt-line.c:80 packet: fetch> want ffffd967eaed43bf87d40a84f2f9e12c59575abe
08:33:54.154726 pkt-line.c:80 packet: fetch> done
08:33:54.154726 pkt-line.c:80 packet: fetch> 0000... with all of those trees
08:33:56.058314 pkt-line.c:80 packet: fetch< shallow-info
08:33:56.058314 pkt-line.c:80 packet: fetch< 0001
08:33:56.058314 pkt-line.c:80 packet: fetch< packfile
08:33:57.783631 pkt-line.c:80 packet: sideband< PACK ...
08:33:57.799321 run-command.c:655 trace: run_command: git index-pack --stdin --fix-thin '--keep=fetch-pack 6540 on win-pool7447' --promisor --pack_header=2,344628
08:33:57.830596 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:33:57.830596 git.c:460 trace: built-in: git index-pack --stdin --fix-thin '--keep=fetch-pack 6540 on win-pool7447' --promisor --pack_header=2,344628
08:34:35.033275 pkt-line.c:80 packet: sideband< 0000
08:34:46.298777 run-command.c:655 trace: run_command: git maintenance run --auto --no-quiet
08:34:46.330052 exec-cmd.c:237 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
08:34:46.345653 git.c:460 trace: built-in: git maintenance run --auto --no-quiet
08:45:14.094158 pkt-line.c:80 packet: sideband< \1
08:45:18.281129 pkt-line.c:80 packet: sideband< \2pre-receive started at 1677077118283
remote: pre-receive started at 1677077118283
08:45:18.297266 pkt-line.c:80 packet: sideband< \2Received line '0000000000000000000000000000000000000000 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5 refs/tags/hswebrec/app/stage1/l
08:45:18.297266 pkt-line.c:80 packet: sideband< \2atest'
remote: Received line '0000000000000000000000000000000000000000 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5 refs/tags/hswebrec/app/stage1/latest' ---8<--- clipped pre-receive output
08:45:18.550847 pkt-line.c:80 packet: sideband< \2pre-receive finished at 1677077118556 (273 ms)
remote: pre-receive finished at 1677077118556 (273 ms)
08:45:21.448647 pkt-line.c:80 packet: sideband< \1000eunpack ok002cok refs/tags/hswebrec/app/stage1/latest0000
08:45:21.448647 pkt-line.c:80 packet: push< unpack ok
08:45:21.448647 pkt-line.c:80 packet: push< ok refs/tags/hswebrec/app/stage1/latest
08:45:21.448647 pkt-line.c:80 packet: push< 0000
08:45:21.798337 pkt-line.c:80 packet: sideband< \2post-receive started at 1677077121804
remote: post-receive started at 1677077121804
08:45:21.814043 pkt-line.c:80 packet: sideband< \2Received line '0000000000000000000000000000000000000000 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5 refs/tags/hswebrec/app/stage1/l
08:45:21.814043 pkt-line.c:80 packet: sideband< \2atest'
remote: Received line '0000000000000000000000000000000000000000 0962f6cd9b1f2b5a012581823c12f0f0619bd3f5 refs/tags/hswebrec/app/stage1/latest' ---8<--- clipped post-receive output
08:45:21.972423 pkt-line.c:80 packet: sideband< \23.0000; path=/; Httponly; Secure"]}}post-receive finished at 1677077121979 (175 ms)
remote: post-receive finished at 1677077121979 (175 ms)
08:45:22.051793 pkt-line.c:80 packet: sideband< 0000
To $REPO.git
* [new tag] FETCH_HEAD -> hswebrec/app/stage1/latest-- Sean Allred