From 5d4124c92b65616dfc9d657b4b6f49acd265485b Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 6 Jan 2016 20:57:22 +0100 Subject: [PATCH] patchupdate.py: Remove unused optional revision argument from read_patchset function. (cherry picked from commit 33a4d4c90ee5d1ee64ec9d383b0c96c366bdb23c) --- staging/patchupdate.py | 88 +++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 57 deletions(-) diff --git a/staging/patchupdate.py b/staging/patchupdate.py index 4f0c5953..4d8c1760 100755 --- a/staging/patchupdate.py +++ b/staging/patchupdate.py @@ -165,8 +165,8 @@ def _latest_wine_commit(commit=None): assert len(commit) == 40 and commit == commit.lower() return commit -def enum_directories(revision, path): - """Enumerate all subdirectories of 'path' at a specific revision.""" +def enum_directories(path): + """Enumerate all subdirectories of 'path'.""" dirs = [] if path[0:2] == "./": @@ -174,64 +174,42 @@ def enum_directories(revision, path): elif path[0] == "/": raise RuntimeError("Expected relative path, not an absolute path") - if revision is None: - for name in os.listdir(path): - if name in [".", ".."]: continue - directory = os.path.join(path, name) - if not os.path.isdir(directory): - continue - dirs.append((name, directory)) - else: - filename = "%s:%s" % (revision, path) - try: - content = subprocess.check_output(["git", "show", filename], stderr=_devnull) - except subprocess.CalledProcessError as e: - if e.returncode != 128: raise - return [] # ignore error - lines = content.split("\n") - if not lines[0].startswith("tree ") or lines[1] != "": - raise RuntimeError("Unexpected output from 'git show %s'" % filename) - for name in lines[2:]: - if name == "" or name[-1] != "/": continue - name = name[:-1] - dirs.append((name, os.path.join(path, name))) + for name in os.listdir(path): + directory = os.path.join(path, name) + if not os.path.isdir(directory): + continue + dirs.append((name, directory)) return dirs -def read_patchset(revision = None): - """Read information about all patchsets for a specific revision.""" +def read_patchset(): + """Read information about all patchsets.""" unique_id = itertools.count() all_patches = {} name_to_id = {} categories = {} # Read in sorted order (to ensure created Makefile doesn't change too much) - for name, directory in sorted(enum_directories(revision, config.path_patches)): + for name, directory in sorted(enum_directories(config.path_patches)): patch = PatchSet(name, directory) - if revision is None: - - # If its the latest revision, then request additional information - if not os.path.isdir(directory): - raise RuntimeError("Unable to open directory %s" % directory) - - # Enumerate .patch files in the given directory, enumerate individual patches and affected files - for f in sorted(os.listdir(directory)): - if not re.match("^[0-9]{4}-.*\\.patch$", f): - continue - if f.startswith(config.path_IfDefined): - continue - if not os.path.isfile(os.path.join(directory, f)): - continue - patch.files.append(f) - for p in patchutils.read_patch(os.path.join(directory, f)): - patch.modified_files.add(p.modified_file) - patch.patches.append(p) - - # No single patch within this directory, ignore it - if len(patch.patches) == 0: - del patch + # Enumerate .patch files in the given directory, enumerate individual patches and affected files + for f in sorted(os.listdir(directory)): + if not re.match("^[0-9]{4}-.*\\.patch$", f): continue + if f.startswith(config.path_IfDefined): + continue + if not os.path.isfile(os.path.join(directory, f)): + continue + patch.files.append(f) + for p in patchutils.read_patch(os.path.join(directory, f)): + patch.modified_files.add(p.modified_file) + patch.patches.append(p) + + # No single patch within this directory, ignore it + if len(patch.patches) == 0: + del patch + continue i = next(unique_id) all_patches[i] = patch @@ -239,15 +217,11 @@ def read_patchset(revision = None): # Now read the definition files in a second step for i, patch in all_patches.iteritems(): + filename = os.path.join(os.path.join(config.path_patches, patch.name), "definition") try: - filename = os.path.join(os.path.join(config.path_patches, patch.name), "definition") - if revision is None: - with open(filename) as fp: - content = fp.read() - else: - filename = "%s:%s" % (revision, filename) - content = subprocess.check_output(["git", "show", filename], stderr=_devnull) - except (IOError, subprocess.CalledProcessError): + with open(filename) as fp: + content = fp.read() + except IOError: continue # Skip this definition file for line in content.split("\n"): @@ -294,7 +268,7 @@ def read_patchset(revision = None): elif key == "ifdefined": patch.ifdefined = val - elif revision is None: + else: print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line) # If patch is not disabled then finally add it to the category