This patch avoids a traceback when trying to copy a deleted file. * scripts/makeupdates (doGitDiff): used 'git diff --name-status tag' to get the list of changed files. (pruneFile, isysChanged): Adjust for file name parsing. We should stop looking for the '|' character and we should analyze the first character which contains the status of the file with respect to tag. For now we only skip the deleted files. --- scripts/makeupdates | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diff --git a/scripts/makeupdates b/scripts/makeupdates index 37555ba..8cb252c 100755 --- a/scripts/makeupdates +++ b/scripts/makeupdates @@ -84,7 +84,7 @@ def getArchiveTagOffset(configure, spec, offset): return tag def doGitDiff(tag, args=[]): - proc = subprocess.Popen(['git', 'diff', '--stat', tag] + args, + proc = subprocess.Popen(['git', 'diff', '--name-status', tag] + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() @@ -105,11 +105,16 @@ def copyUpdatedFiles(tag, updates, cwd): lines = doGitDiff(tag) for line in lines: - if line.find(' | ') == -1: + fields = line.split() + + if len(fields) < 2: continue - fields = line.split() - file = fields[0] + status = fields[0] + file = fields[1] + + if status == "D": + continue if file.endswith('.spec.in') or (file.find('Makefile') != -1) or \ file.endswith('.c') or file.endswith('.h') or \ @@ -150,11 +155,16 @@ def isysChanged(tag): lines = doGitDiff(tag, ['isys']) for line in lines: - if line.find(' | ') == -1: + fields = line.split() + + if len(fields) < 2: continue - fields = line.split() - file = fields[0] + status = fields[0] + file = fields[1] + + if status == "D": + continue if file.startswith('Makefile') or file.endswith('.h') or \ file.endswith('.c'): -- 1.6.4.3 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list