A large repository git push is timing out during "Validating diffs' file paths"
Problem Description
We had a report from a customer that a git push
operation for a 200MB repository had been timing out. Output of their git push command is:
git push --verbose --all new-origin
Pushing to codelab.isaracorp.com:chris.herborth/test-big-import.git
Enumerating objects: 48550, done.
Counting objects: 100% (48550/48550), done.
Delta compression using up to 8 threads
Compressing objects: 100% (14591/14591), done.
Writing objects: 100% (48550/48550), 134.06 MiB | 3.40 MiB/s, done.
Total 48550 (delta 33006), reused 48548 (delta 33004), pack-reused 0
remote: Resolving deltas: 100% (33006/33006), done.
remote: GitLab: Push operation timed out
remote:
remote: Timing information for debugging purposes:
remote: Running checks for ref: 0.42.2
remote: Checking if you are allowed to push... (34.94ms)
remote: Checking if default branch is being deleted... (0.14ms)
remote: Checking if you are force pushing to a protected branch... (4.54ms)
remote: Checking if you are allowed to push to the protected branch... (5.95ms)
remote: Checking if branch follows the naming patterns defined by the project... (4.56ms)
remote: Checking if commits follow defined push rules... (236.19ms)
remote: Validating diffs' file paths... (5.51ms)
remote: Running checks for ref: 0.43.0
remote: Checking if you are allowed to push... (0.2ms)
remote: Checking if default branch is being deleted... (0.08ms)
remote: Checking if you are force pushing to a protected branch... (0.25ms)
remote: Checking if you are allowed to push to the protected branch... (2.41ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.13ms)
remote: Checking if commits follow defined push rules... (230.84ms)
remote: Validating diffs' file paths... (0.61ms)
remote: Running checks for ref: 0.44.0
remote: Checking if you are allowed to push... (0.19ms)
remote: Checking if default branch is being deleted... (0.09ms)
remote: Checking if you are force pushing to a protected branch... (0.24ms)
remote: Checking if you are allowed to push to the protected branch... (3.12ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.15ms)
remote: Checking if commits follow defined push rules... (235.59ms)
remote: Validating diffs' file paths... (0.57ms)
remote: Running checks for ref: 1033-prepopulate-known-values
remote: Checking if you are allowed to push... (0.2ms)
remote: Checking if default branch is being deleted... (0.08ms)
remote: Checking if you are force pushing to a protected branch... (0.24ms)
remote: Checking if you are allowed to push to the protected branch... (3.09ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.14ms)
remote: Checking if commits follow defined push rules... (3658.41ms)
remote: Validating diffs' file paths... (0.63ms)
remote: Running checks for ref: 1188-add-data-testid
remote: Checking if you are allowed to push... (0.19ms)
remote: Checking if default branch is being deleted... (0.08ms)
remote: Checking if you are force pushing to a protected branch... (0.33ms)
remote: Checking if you are allowed to push to the protected branch... (3.13ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.21ms)
remote: Checking if commits follow defined push rules... (1076.61ms)
remote: Validating diffs' file paths... (0.7ms)
remote: Running checks for ref: 1189-Bigger-font-crypto-score
remote: Checking if you are allowed to push... (0.23ms)
remote: Checking if default branch is being deleted... (0.11ms)
remote: Checking if you are force pushing to a protected branch... (0.32ms)
remote: Checking if you are allowed to push to the protected branch... (3.25ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.2ms)
remote: Checking if commits follow defined push rules... (1125.17ms)
remote: Validating diffs' file paths... (0.64ms)
remote: Running checks for ref: 875-show-protocol-variants
remote: Checking if you are allowed to push... (0.26ms)
remote: Checking if default branch is being deleted... (0.08ms)
remote: Checking if you are force pushing to a protected branch... (0.25ms)
remote: Checking if you are allowed to push to the protected branch... (3.09ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.14ms)
remote: Checking if commits follow defined push rules... (1245.16ms)
remote: Validating diffs' file paths... (0.67ms)
remote: Running checks for ref: GAP1009_Tanium_Collect_Device_OS
remote: Checking if you are allowed to push... (0.18ms)
remote: Checking if default branch is being deleted... (0.09ms)
remote: Checking if you are force pushing to a protected branch... (0.33ms)
remote: Checking if you are allowed to push to the protected branch... (3.08ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.22ms)
remote: Checking if commits follow defined push rules... (285.12ms)
remote: Validating diffs' file paths... (0.6ms)
remote: Running checks for ref: GAP1195-Search-primitives
remote: Checking if you are allowed to push... (0.21ms)
remote: Checking if default branch is being deleted... (0.11ms)
remote: Checking if you are force pushing to a protected branch... (0.33ms)
remote: Checking if you are allowed to push to the protected branch... (2.98ms)
remote: Checking if branch follows the naming patterns defined by the project... (0.2ms)
remote: Checking if commits follow defined push rules... (1093.94ms)
remote: Validating diffs' file paths... (cancelled)
To codelab.isaracorp.com:chris.herborth/test-big-import.git
! [remote rejected] 0.42.2 -> 0.42.2 (pre-receive hook declined)
…
! [remote rejected] ui-mockup-playground -> ui-mockup-playground (pre-receive hook declined)
error: failed to push some refs to 'codelab.isaracorp.com:chris.herborth/test-big-import.git'
Workaround:
Split the command git push --all gitlab
into
git push gitlab
git push --all gitlab