git-p4: use with statements to close files after use in patchRCSKeywords

Python with statements are used to wrap the execution of a block of code so that an object can be safely released when execution leaves the scope. They are desirable for improving code tidyness, and to ensure that objects are properly destroyed even when exceptions are thrown. Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Joel Holdsworth committed Dec 16, 2021 at 13:46 UTC 8618d322e00f88b7b5528abfc75b26c162032a21
1 file changed +5 -8
git-p4.py
+5 -8
@@ -1757,14 +1757,11 @@ class P4Submit(Command, P4UserMap):
1757 # Attempt to zap the RCS keywords in a p4 controlled file matching the given pattern
1758 (handle, outFileName) = tempfile.mkstemp(dir='.')
1759 try:
1760 - outFile = os.fdopen(handle, "w+")
1761 - inFile = open(file, "r")
1762 - regexp = re.compile(pattern, re.VERBOSE)
1763 - for line in inFile.readlines():
1764 - line = regexp.sub(r'$\1$', line)
1765 - outFile.write(line)
1766 - inFile.close()
1767 - outFile.close()
1760 + with os.fdopen(handle, "w+") as outFile, open(file, "r") as inFile:
1761 + regexp = re.compile(pattern, re.VERBOSE)
1762 + for line in inFile.readlines():
1763 + line = regexp.sub(r'$\1$', line)
1764 + outFile.write(line)
1765 # Forcibly overwrite the original file
1766 os.unlink(file)
1767 shutil.move(outFileName, file)