diff --git a/breezy/git/transportgit.py b/breezy/git/transportgit.py index e3015bf021..96f27097f1 100644 --- a/breezy/git/transportgit.py +++ b/breezy/git/transportgit.py @@ -822,6 +822,19 @@ def __repr__(self): """Return string representation of the object store.""" return f"{self.__class__.__name__}({self.transport!r})" + def __del__(self): + """Ensure object store is closed when garbage collected.""" + if self._pack_cache: + import warnings + + warnings.warn( + f"unclosed packs in {self!r}", + ResourceWarning, + stacklevel=2, + source=self, + ) + self.close() + @property def alternates(self): """Get alternate object stores.