I recently set up a small Linux server with Gitlab CE in order to test out Git LFS for game development. In order to get a feel for the Gitlab and LFS workflow I made a test project in a popular game engine with a number of large binary assets. After writing a quick .gitignore and .gitattributes we were able to push the repo to our server and clone it to another PC with our large asset files being handled appropriately! From a workflow standpoint, it certainly seems better than our old setup - using Git for code and SVN for assets.
However, one of the issues that we noticed was cleaning up our test project and removing the unwanted LFS files from our server. It seems that Gitlab stores all of the LFS files from every project in a single storage directory (in our case, I believe it is /mnt/storage/git-lfs-objects). On top of that, all of the files in the LFS storage directory have short hexadecimal names, with no way to tell what files are or which project they are a part of. Even after removing our test project from gitlab we noticed that the lfs-objects were still there!
So, is there a way of removing unwanted LFS objects/files from our Gitlab server's storage directory? It seems like it would have been really easy and intuitive if our lfs-objects had been stored in per-project sub-directories. It would be even better if the lfs-objects maintained at least part of their original file names! We are really interested in pursuing git-lfs and gitlab for future game development projects, but I don't really like the idea of mixing data from various projects into one massive directory and the potential of a big 'data leak' filling up our server with files that are hard to identify.
So, Is there some aspect of git-lfs or Gitlab CE that I'm missing here? I can't imagine there's no way to remove unwanted lfs objects from the server, but I'm not having much luck!