diff options
-rwxr-xr-x | bin/dispatch-conf | 8 | ||||
-rw-r--r-- | cnf/dispatch-conf.conf | 5 |
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 |