Backups: a revision chain belongs to a PC, not just a machine
This commit is contained in:
@@ -27,6 +27,7 @@ from shopdb.api import (
|
||||
from ..models import BackupRevision
|
||||
from ..models.backup import _utciso
|
||||
from ..services.registry import REGISTRY, getkind
|
||||
from ..services.retention import samesource
|
||||
|
||||
backups_bp = Blueprint('backups', __name__)
|
||||
|
||||
@@ -278,9 +279,13 @@ def diff_revision(backuprevisionid):
|
||||
if againstid:
|
||||
other = db.session.get(BackupRevision, againstid)
|
||||
else:
|
||||
# The previous revision FROM THE SAME PC. Several PCs can share a
|
||||
# machine number, and diffing across them reported one device's COM port
|
||||
# as a change on another, which is not a change at all.
|
||||
other = (db.session.query(BackupRevision)
|
||||
.filter(BackupRevision.assetid == revision.assetid,
|
||||
BackupRevision.backupkind == revision.backupkind,
|
||||
samesource(revision.sourcehostname),
|
||||
BackupRevision.backuprevisionid < revision.backuprevisionid)
|
||||
.order_by(BackupRevision.backuprevisionid.desc())
|
||||
.first())
|
||||
|
||||
Reference in New Issue
Block a user