[rbe-cas] Fix crash in Merge
Bug: skia:10883
Change-Id: I1361f64dd82f26226c2e4eccf7e519d4d195646d
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/374459
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
diff --git a/go/cas/rbe/rbe.go b/go/cas/rbe/rbe.go
index 70523a8..41cf8f9 100644
--- a/go/cas/rbe/rbe.go
+++ b/go/cas/rbe/rbe.go
@@ -289,7 +289,7 @@
children[dir.Name] = merged
} else {
dirsMap[dir.Name] = dir
- children[dir.Name] = a.Children[dir.Name]
+ children[dir.Name] = b.Children[dir.Name]
}
}
dirs := make([]*remoteexecution.DirectoryNode, 0, len(dirsMap))
diff --git a/go/cas/rbe/rbe_manual_test.go b/go/cas/rbe/rbe_manual_test.go
index 47635bc..206fc3b 100644
--- a/go/cas/rbe/rbe_manual_test.go
+++ b/go/cas/rbe/rbe_manual_test.go
@@ -172,12 +172,16 @@
f(t, wd, "duplicated", "duplicatedcontents", true)
d(t, wd, "subdir")
f(t, wd, "subdir/subfile", "subfilecontents", false)
+ d(t, wd, "missing-from-tree2")
+ f(t, wd, "missing-from-tree2/somefile", "missing-from-tree2 contents", false)
})
digest2, tree2 := upload(func(wd string) {
f(t, wd, "otherfile", "blahblah", true)
f(t, wd, "duplicated", "duplicatedcontents", true)
d(t, wd, "subdir")
f(t, wd, "subdir/subfile2", "subfilecontents2", false)
+ d(t, wd, "missing-from-tree1")
+ f(t, wd, "missing-from-tree1/somefile", "missing-from-tree1 contents", false)
})
// Merge the digests.