WIP: Prevent git push when LFS objects are missing

Closed James EJ requested to merge jej/lfs-prevent-push-when-missing-objects into master

What

Replaced by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13837

Finds new blobs during git-receive-pack and checks for any LFS pointers. If any of these are not in the lfs_objects table from a prior git lfs push then an error is raised to abort the push.

Why

Prevent repos getting to a broken state where they can' be cloned or have changes pulled.

Related

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

Edited by James EJ