From 389067fb8ba5ec667b55e200e7481c5070bdbc03 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Wed, 24 Apr 2019 15:07:26 +0200 Subject: [PATCH] Only use list of blobs for old node Closes #2249 --- internal/archiver/archiver.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/internal/archiver/archiver.go b/internal/archiver/archiver.go index b21f79e87..f72f1b338 100644 --- a/internal/archiver/archiver.go +++ b/internal/archiver/archiver.go @@ -384,12 +384,19 @@ func (arch *Archiver) Save(ctx context.Context, snPath, target string, previous return FutureNode{}, true, nil } - // use previous node if the file hasn't changed + // use previous list of blobs if the file hasn't changed if previous != nil && !fileChanged(fi, previous, arch.IgnoreInode) { - debug.Log("%v hasn't changed, returning old node", target) + debug.Log("%v hasn't changed, using old list of blobs", target) arch.CompleteItem(snPath, previous, previous, ItemStats{}, time.Since(start)) arch.CompleteBlob(snPath, previous.Size) - fn.node = previous + fn.node, err = arch.nodeFromFileInfo(target, fi) + if err != nil { + return FutureNode{}, false, err + } + + // copy list of blobs + fn.node.Content = previous.Content + _ = file.Close() return fn, false, nil }