diff mercurial/streamclone.py @ 52044:0ad269e24075

stream: open volatile file through the manager To do more subtle things, we need more control.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 01 Oct 2024 15:55:29 +0200
parents e308439339e2
children 4801fde72cc2
line wrap: on
line diff
--- a/mercurial/streamclone.py	Mon Oct 14 15:11:49 2024 +0200
+++ b/mercurial/streamclone.py	Tue Oct 01 15:55:29 2024 +0200
@@ -608,6 +608,12 @@
         unmodified."""
         return self._copies.get(src, src)
 
+    @contextlib.contextmanager
+    def open(self, src):
+        actual_path = self._copies.get(src, src)
+        with open(actual_path, 'rb') as fp:
+            yield fp
+
     def __exit__(self, *args, **kwars):
         """discard all backups"""
         for tmp in self._copies.values():