Added a patch to patch.py to not change directories during patching.

- Legacy-Id: 14755
This commit is contained in:
Henrik Levkowetz 2018-03-09 17:51:40 +00:00
parent 89470dece4
commit 229d84a144
2 changed files with 48 additions and 0 deletions

View file

@ -946,6 +946,7 @@ CHECKS_LIBRARY_PATCHES_TO_APPLY = [
'patch/fix-unidecode-argument-warning.patch', 'patch/fix-unidecode-argument-warning.patch',
'patch/fix-faker-provider-ro-RO-string.patch', 'patch/fix-faker-provider-ro-RO-string.patch',
'patch/add-patch-already-patched-flag.patch', 'patch/add-patch-already-patched-flag.patch',
'patch/fix-patch-no-chdir.patch',
] ]
STATS_NAMES_LIMIT = 25 STATS_NAMES_LIMIT = 25

View file

@ -0,0 +1,47 @@
--- patch.py.old 2018-03-09 07:53:37.586201595 -0800
+++ patch.py 2018-03-09 09:17:25.017418754 -0800
@@ -804,10 +804,10 @@
def findfile(self, old, new):
""" return name of file to be patched or None """
- if exists(old):
- return old
- elif exists(new):
+ if exists(new):
return new
+ elif exists(old):
+ return old
else:
# [w] Google Code generates broken patches with its online editor
debug("broken patch from Google Code, stripping prefixes..")
@@ -827,9 +827,6 @@
from file paths. `root` parameter specifies working dir.
return True on success
"""
- if root:
- prevdir = os.getcwd()
- os.chdir(root)
total = len(self.items)
errors = 0
@@ -854,6 +851,8 @@
new = pathstrip(p.target, strip)
else:
old, new = p.source, p.target
+ old = os.path.join(root, old)
+ new = os.path.join(root, new)
filename = self.findfile(old, new)
@@ -956,9 +955,6 @@
# todo: proper rejects
shutil.move(backupname, filename)
- if root:
- os.chdir(prevdir)
-
# todo: check for premature eof
return (errors == 0)