Update edges instead of replacing them

andybalholm
Apr 4, 2023, 10:35 PM
OMRSTWPYKHLIASBIXECZ4YIVF5AUEULGFYZT72YHUIWFFMUJYTMQC

Dependencies

  • [2] YGCYIX6C Handle Replacement hunks
  • [3] EYPCPIP7 Apply changes and build a graph

Change contents

  • replacement in pristine.go at line 209
    [2.1282][2.1282:1360]()
    // Delete old edges from source to target.
    for i, e := range source.Edges {
    [2.1282]
    [2.1360]
    found := false
    // Look for the old edge and update it if it is found.
    for _, e := range source.Edges {
  • replacement in pristine.go at line 213
    [2.1430][2.1430:1496]()
    source.Edges = append(source.Edges[:i], source.Edges[i+1:]...)
    [2.1430]
    [2.1496]
    found = true
    e.Change = change
    e.Flag = ne.Flag
  • replacement in pristine.go at line 219
    [2.1512][2.1512:1723]()
    for i, e := range target.ReverseEdges {
    if e.Change == introducedBy && e.From == source && e.To == target {
    target.ReverseEdges = append(target.ReverseEdges[:i], target.ReverseEdges[i+1:]...)
    break
    }
    [2.1512]
    [2.1723]
    if !found {
    makeEdge(change, ne.Flag, source, target)
  • edit in pristine.go at line 223
    [2.1726][2.1726:1770]()
    makeEdge(change, ne.Flag, source, target)