diff --git a/osc/core.py b/osc/core.py index ff0778a281..f6f1aef6e0 100644 --- a/osc/core.py +++ b/osc/core.py @@ -1484,6 +1484,15 @@ def commit(self, msg='', verbose=False, skip_local_service_run=False, can_branch 'error: file \'%s\' with state \'%s\' is not known by meta' \ % (filename, st)) todo_send[filename] = f.md5 + if ((self.ispulled() or self.islinkrepair()) and st != 'A' + and filename not in sha256sums): + # Ignore files with state 'A': if we should consider it, + # it would have been in pac.todo, which implies that it is + # in sha256sums. + # The storefile is guaranteed to exist (since we have a + # pulled/linkrepair wc, the file cannot have state 'S') + storefile = os.path.join(self.storedir, filename) + sha256sums[filename] = sha256_dgst(storefile) if not force and not real_send and not todo_delete and not self.islinkrepair() and not self.ispulled(): print('nothing to do for package %s' % self.name)