summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-05-23 10:43:38 +0000
committerZac Medico <zmedico@gentoo.org>2007-05-23 10:43:38 +0000
commit485fd9f277fa2d9c0011e9bee8bab92ddbcbefbc (patch)
tree6cd0fc6cefebf6effa3c4b315e899885da9cca81
parent1f8e2fe1729c68bbe7b173378ce7c9d7bb14f582 (diff)
downloadportage-485fd9f277fa2d9c0011e9bee8bab92ddbcbefbc.tar.gz
portage-485fd9f277fa2d9c0011e9bee8bab92ddbcbefbc.tar.bz2
portage-485fd9f277fa2d9c0011e9bee8bab92ddbcbefbc.zip
Add a 'ignore-previously-merged' config option which gives similar behavior to the --noconfmem emerge option.
svn path=/main/trunk/; revision=6592
-rwxr-xr-xbin/dispatch-conf8
-rw-r--r--cnf/dispatch-conf.conf5
2 files changed, 13 insertions, 0 deletions
diff --git a/bin/dispatch-conf b/bin/dispatch-conf
index a62a0ef40..816de0de3 100755
--- a/bin/dispatch-conf
+++ b/bin/dispatch-conf
@@ -141,6 +141,14 @@ class dispatch:
else:
newconf = conf['new']
+ if newconf == mrgconf and \
+ self.options.get('ignore-previously-merged') != 'yes' and \
+ len(commands.getoutput(DIFF_CONTENTS % (conf['current'], mrgconf))) == 0:
+ # The current update is identical to the archived .dist
+ # version that has previously been merged.
+ os.unlink(mrgconf)
+ newconf = conf['new']
+
mystatus, myoutput = commands.getstatusoutput(
DIFF_CONTENTS % (conf ['current'], newconf))
same_file = 0 == len(myoutput)
diff --git a/cnf/dispatch-conf.conf b/cnf/dispatch-conf.conf
index b1ece73bb..d4caa9557 100644
--- a/cnf/dispatch-conf.conf
+++ b/cnf/dispatch-conf.conf
@@ -32,6 +32,11 @@ replace-wscomments=no
# (yes or no)
replace-unmodified=no
+# Ignore a version that is identical to the previously merged version,
+# even though it is different from the current user modified version
+# (yes or no)
+ignore-previously-merged=yes
+
# Per-session log file of changes made to configuration files
#log-file=/var/log/dispatch-conf.log