From 237427dbf5eadf1e7b7bf2962b2ccbb352e527ab Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 17 Mar 2012 12:48:30 -0700 Subject: repoman: ignore temp files, bug #406877 If the file isn't in the VCS new or changed set, then assume that it's an irrelevant temporary file. This relies on commit 2dac56fa282645031eb29860abc403e983a04b2d to guarantee that Manifest entries are not generated for file names containing prohibited characters. --- bin/repoman | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'bin/repoman') diff --git a/bin/repoman b/bin/repoman index ffedf2e21..80fcde29f 100755 --- a/bin/repoman +++ b/bin/repoman @@ -1170,6 +1170,12 @@ if vcs: modified_changelogs.update(x for x in chain(mychanged, mynew) \ if os.path.basename(x) == "ChangeLog") +def vcs_new_changed(relative_path): + for x in chain(mychanged, mynew): + if x == relative_path: + return True + return False + have_pmasked = False have_dev_keywords = False dofail = 0 @@ -1360,6 +1366,14 @@ for x in effective_scanlist: for y in checkdirlist: m = disallowed_filename_chars_re.search(y.strip(os.sep)) + if m is not None: + y_relative = os.path.join(checkdir_relative, y) + if vcs is not None and not vcs_new_changed(y_relative): + # If the file isn't in the VCS new or changed set, then + # assume that it's an irrelevant temporary file (Manifest + # entries are not generated for file names containing + # prohibited characters). See bug #406877. + m = None if m is not None: stats["file.name"] += 1 fails["file.name"].append("%s/%s: char '%s'" % \ @@ -1528,6 +1542,14 @@ for x in effective_scanlist: m = disallowed_filename_chars_re.search( os.path.basename(y.rstrip(os.sep))) + if m is not None: + y_relative = os.path.join(checkdir_relative, "files", y) + if vcs is not None and not vcs_new_changed(y_relative): + # If the file isn't in the VCS new or changed set, then + # assume that it's an irrelevant temporary file (Manifest + # entries are not generated for file names containing + # prohibited characters). See bug #406877. + m = None if m is not None: stats["file.name"] += 1 fails["file.name"].append("%s/files/%s: char '%s'" % \ -- cgit v1.2.3-1-g7c22