From fcc166d3a6e235933e823e82e1fcf6160a32a5d3 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 8 Jun 2011 01:27:28 +0200 Subject: log: non-existing logs no longer throw an exception, but are ignored. Fixed critical bug which caused packed-ref files to be written with native line endings, which made git fail to parse it. I wonder why I never noticed this before, or ignored it. Unbelievable \! --- git/refs/log.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'git/refs/log.py') diff --git a/git/refs/log.py b/git/refs/log.py index f49c07fd..e94c21f0 100644 --- a/git/refs/log.py +++ b/git/refs/log.py @@ -129,7 +129,13 @@ class RefLog(list, Serializable): # END handle filepath def _read_from_file(self): - fmap = file_contents_ro_filepath(self._path, stream=False, allow_mmap=True) + try: + fmap = file_contents_ro_filepath(self._path, stream=False, allow_mmap=True) + except OSError: + # it is possible and allowed that the file doesn't exist ! + return + #END handle invalid log + try: self._deserialize(fmap) finally: -- cgit v1.2.1