Managed-compute repo updates now use a detached checkout instead of a merge.
What's wrong with this entry?
In the managed-compute git sync path, the fast update taken when a previous HEAD exists switched from a merge into the working tree plus a HEAD update to a single quiet detached checkout --progress --detach FETCH_HEAD^{commit}, still with core.checkStat=minimal and core.trustctime=false.
- Gated on the
CCR_DELTA_RESETenvironment variable; when it is unset the code goes straight to thereset --hard FETCH_HEAD^{commit}path, which is unchanged. - The precondition is now a plain
rev-parse --verify --quiet HEAD^{commit}probe rather than resolving and sha-validating the old HEAD. - The pre-reset
update-ref --no-deref HEAD HEADnow runs only when the fast path is not taken or as part of the fallback, and an aborted checkout is rethrown instead of falling through to the hard reset.
CCR_DELTA_RESET, core.trustctime=false
Strings lifted out of the shipped bundle, so the claim above can be checked against them.