We are trying to clean up the history of a git repository hosted on VSO/team services. Using bfg and git-filter-branch we removed about ~80% of stored objects by cleaning accidentally checken in packages folders etc.
After successfully rewriting the repository’s git history we force pushed to visualstudio.com but new clones of that repo seem to suggest that none of the objects were actually removed. We found hints here and there indicating that TFS does not perform any garbage collection on git objects.
Is that (still) true for VSO as well?
Any improvements planned?
Deleting and recreating the repository would probably be a workaround but doesn’t seem that elegant.
The git gc command is a repository maintenance command. The "gc" stands for garbage collection. Executing git gc is literally telling Git to clean up the mess it's made in the current repository.
Essentially, git prune will be triggered by git gc. Git prune is used to delete Git objects that the git gc config has judged unreachable. Learn more about the git prune command.
Yes, it’s still true for VSTS (VSO) now. But git gc
on the server is in our backlog, so it will be improved in the future.
The option for now is recreating a new repo and push again (as you mentioned).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With