Skip to content

Safer ref updates

Use git update-ref to prevent clobbering concurrent ref updates. If rugged/libgit2 is temporarily confused, due to concurrent git gc for example, then it used to be possible to accidentally reset a ref to an earlier state and lose commits. Because git update-ref does not get confused by git gc, what will happen now is that the commit based on confused information fails, preventing data loss.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/20353

Merge request reports