summaryrefslogtreecommitdiffstats
path: root/bin/dispatch-conf
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-11-01 09:39:12 +0000
committerZac Medico <zmedico@gentoo.org>2006-11-01 09:39:12 +0000
commitef86f1d5bfadc9af73d09f613053640267680189 (patch)
treefdaa7426de4889d6b2df3789c1826e0269f90834 /bin/dispatch-conf
parent67a986eff177ef6ef2cb196ba7f09c3d9b34eb38 (diff)
downloadportage-ef86f1d5bfadc9af73d09f613053640267680189.tar.gz
portage-ef86f1d5bfadc9af73d09f613053640267680189.tar.bz2
portage-ef86f1d5bfadc9af73d09f613053640267680189.zip
For bug #129670, skip the replace-cvs and replace-wscomments tests if the diff exit code indicates two two binary files that differ.
svn path=/main/trunk/; revision=4901
Diffstat (limited to 'bin/dispatch-conf')
-rwxr-xr-xbin/dispatch-conf15
1 files changed, 12 insertions, 3 deletions
diff --git a/bin/dispatch-conf b/bin/dispatch-conf
index c9f3655f0..6a007ab53 100755
--- a/bin/dispatch-conf
+++ b/bin/dispatch-conf
@@ -140,9 +140,18 @@ class dispatch:
else:
newconf = conf['new']
- same_file = len(commands.getoutput (DIFF_CONTENTS % (conf ['current'], newconf))) == 0
- same_cvs = len(commands.getoutput (DIFF_CVS_INTERP % (conf ['current'], newconf))) == 0
- same_wsc = len(commands.getoutput (DIFF_WSCOMMENTS % (conf ['current'], newconf))) == 0
+ mystatus, myoutput = commands.getstatusoutput(
+ DIFF_CONTENTS % (conf ['current'], newconf))
+ same_file = 0 == len(myoutput)
+ if mystatus >> 8 == 2:
+ # Binary files differ
+ same_cvs = False
+ same_wsc = False
+ else:
+ same_cvs = 0 == len(commands.getoutput(
+ DIFF_CVS_INTERP % (conf ['current'], newconf)))
+ same_wsc = 0 == len(commands.getoutput(
+ DIFF_WSCOMMENTS % (conf ['current'], newconf)))
# Do options permit?
same_cvs = same_cvs and self.options['replace-cvs'] == 'yes'