tree d6b1a94eba2ea9fa10a8ebeff2defe15d909dfe9
parent 6f8d6321866312ea0f1edf68b3663cf78fbe7a8d
parent 10954ec5b55903dc22f4a8b08b2c2353bb4fa050
author Luca Milanesio <luca.milanesio@gmail.com> 1660248330 +0200
committer Luca Milanesio <luca.milanesio@gmail.com> 1660249594 +0200

Merge branch 'stable-3.3' into stable-3.4

* stable-3.3:
  Do not rely on System.nanoTime for E2E metrics
  Introduce the apply-objects REST-API for the whole '/meta' chain
  Fix the processing of an empty HTML response body from REST-API
  Fix issue with ref deletion and global-refdb
  Fix issue with fetching all refs after project creation
  Always fallback to fetch when ApplyObject REST-API fails
  Log the reason why a ref object wasn't loaded by RevisionReader
  Consider any HTTP 2xx response code from REST-API as success
  Return NO_CONTENT when removing a ref through ApplyObject
  Introduce E2E fetch REST-API metrics
  Fix ApplyObjectIT.shouldApplyRefMetaObject test for apply object
  Introduce E2E apply object REST-API metrics
  Add missing @Override to parseRemotes
  Add more logging for the apply object REST-API
  Support ApplyObject of non-commit refs

Change-Id: I721852cb091ad12c2fc94cb124b01968b0bad78d
