∅:D[
4.209] → [
5.515867:515910]
∅:D[
6.614] → [
5.515867:515910]
B:BD[
5.515867] → [
5.515867:515910]
B:BD[
5.515910] → [
3.0:85]
∅:D[
3.85] → [
5.515973:516058]
∅:D[
7.53256] → [
5.515973:516058]
B:BD[
5.515973] → [
5.515973:516058]
B:BD[
5.516058] → [
7.53257:53315]
∅:D[
7.53315] → [
5.516114:516163]
B:BD[
5.516114] → [
5.516114:516163]
B:BD[
5.516163] → [
7.53316:53386]
∅:D[
7.53386] → [
5.516231:516251]
B:BD[
5.516231] → [
5.516231:516251]
B:BD[
5.516251] → [
2.166:519]
∅:D[
2.519] → [
7.53387:53478]
B:BD[
5.516334] → [
7.53387:53478]
∅:D[
7.53478] → [
5.516423:516470]
B:BD[
5.516423] → [
5.516423:516470]
B:BD[
5.516470] → [
7.53479:53548]
∅:D[
7.53548] → [
5.516537:516605]
B:BD[
5.516537] → [
5.516537:516605]
B:BD[
5.516605] → [
7.53549:53606]
∅:D[
7.53606] → [
5.516660:516728]
B:BD[
5.516660] → [
5.516660:516728]
B:BD[
5.516728] → [
7.53607:53676]
∅:D[
7.53676] → [
5.516795:516818]
B:BD[
5.516795] → [
5.516795:516818]
moved.edges.push(NewEdge {
previous: parent.flag() - EdgeFlags::PARENT - EdgeFlags::PSEUDO,
flag: EdgeFlags::FOLDER | EdgeFlags::BLOCK | EdgeFlags::DELETED,
from: grandparent.dest().to_option(),
to: parent_dest.to_option(),
introduced_by: Some(grandparent.introduced_by()),
});
// The following extra edge is meant to allow
// detection of missing contexts in folders: indeed,
// if we didn't have it, we couldn't tell the
// difference between a convergent renaming or
// deletion and a conflict between a renaming and a
// deletion.
if !parent_was_resurrected && !parent.flag().contains(EdgeFlags::PSEUDO) {
moved.alive.push(NewEdge {
previous: parent.flag() - EdgeFlags::PARENT,
flag: EdgeFlags::FOLDER | EdgeFlags::BLOCK,
from: parent.dest().to_option(),
to: current_pos.inode_vertex().to_option(),
introduced_by: Some(parent.introduced_by()),
})
if !parent.flag().contains(EdgeFlags::PSEUDO) {
moved.edges.push(NewEdge {
previous: parent.flag() - EdgeFlags::PARENT - EdgeFlags::PSEUDO,
flag: EdgeFlags::FOLDER | EdgeFlags::BLOCK | EdgeFlags::DELETED,
from: grandparent.dest().to_option(),
to: parent_dest.to_option(),
introduced_by: Some(grandparent.introduced_by()),
});
// The following extra edge is meant to allow
// detection of missing contexts in folders: indeed,
// if we didn't have it, we couldn't tell the
// difference between a convergent renaming or
// deletion and a conflict between a renaming and a
// deletion.\
if !parent_was_resurrected {
moved.alive.push(NewEdge {
previous: parent.flag() - EdgeFlags::PARENT,
flag: EdgeFlags::FOLDER | EdgeFlags::BLOCK,
from: parent.dest().to_option(),
to: current_pos.inode_vertex().to_option(),
introduced_by: Some(parent.introduced_by()),
})
}