Skip to content

Commit 8a01ec4

Browse files
committed
FIX config-lock release early regression caused by gitpython-developers#519
+ Regression introduced in d84b960, by a wrong comment interpretation.
1 parent f48ef31 commit 8a01ec4

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

git/config.py

+8-13
Original file line numberDiff line numberDiff line change
@@ -479,20 +479,15 @@ def write(self):
479479
is_file_lock = isinstance(fp, string_types + (FileType, ))
480480
if is_file_lock:
481481
self._lock._obtain_lock()
482-
try:
483-
if not hasattr(fp, "seek"):
484-
with open(self._file_or_files, "wb") as fp:
485-
self._write(fp)
486-
else:
487-
fp.seek(0)
488-
# make sure we do not overwrite into an existing file
489-
if hasattr(fp, 'truncate'):
490-
fp.truncate()
482+
if not hasattr(fp, "seek"):
483+
with open(self._file_or_files, "wb") as fp:
491484
self._write(fp)
492-
finally:
493-
# we release the lock - it will not vanish automatically in PY3.5+
494-
if is_file_lock:
495-
self._lock._release_lock()
485+
else:
486+
fp.seek(0)
487+
# make sure we do not overwrite into an existing file
488+
if hasattr(fp, 'truncate'):
489+
fp.truncate()
490+
self._write(fp)
496491

497492
def _assure_writable(self, method_name):
498493
if self.read_only:

0 commit comments

Comments
 (0)