Refactor marks

andybalholm
Mar 15, 2023, 12:30 AM
YBAXM44PROCHZWNCOAFGQ3P25FN45KEICIRGC3PKAUIF3HF6PX7AC

Dependencies

  • [2] NXJB3UTC Deduplicate blobs
  • [3] RTQQLOCO Use real metadata, but no content yet
  • [4] K23EJ6EJ Process commits in reverse
  • [5] P2B4ZSO5 Include file content
  • [6] 2J4YY37D Use "raw" date format
  • [7] 5ETDKF5F Start on data structures to represent fast-export stream
  • [*] YANQZYFX
  • [*] Y7VFVY6E Initial dummy version
  • [*] KZ4XMKSP Make a temporary clone of the repository

Change contents

  • file addition: marks.go (----------)
    [9.1]
    package main
    type Marks struct {
    marks int
    }
    func (m *Marks) Next() int {
    m.marks++
    return m.marks
    }
    func (m *Marks) MarkChanges(changes []change) {
    for i := range changes {
    changes[i].mark = m.Next()
    }
    }
  • edit in main.go at line 31
    [3.344][3.344:361]()
    }
    var marks = 0
  • replacement in main.go at line 32
    [3.362][3.362:407]()
    func nextMark() int {
    marks++
    return marks
    [3.362]
    [3.96]
    mark int
  • edit in main.go at line 97
    [11.1092]
    [3.971]
    }
    // If the first change is empty, skip it.
    if len(changes[len(changes)-1].Authors) == 0 {
    changes = changes[:len(changes)-1]
  • edit in main.go at line 105
    [3.33]
    [3.33]
    stream.marks.MarkChanges(changes)
  • edit in main.go at line 108
    [3.73][3.1101:1212](),[3.1101][3.1101:1212](),[3.1212][3.0:5]()
    if len(c.Authors) == 0 && changeIndex == len(changes)-1 {
    // Skip the original, empty change.
    continue
    }
  • edit in main.go at line 118
    [3.20]
    [3.1244]
    commit.Mark = c.mark
  • edit in main.go at line 161
    [3.354]
    [3.354]
    if changeIndex < len(changes)-1 {
    commit.From = changes[changeIndex+1].mark
    }
  • edit in fast-export.go at line 26
    [3.1372]
    [3.1372]
    From int
  • edit in fast-export.go at line 49
    [3.1424]
    [3.1424]
    if c.From != 0 {
    if _, err := fmt.Fprintf(w, "from :%d\n", c.From); err != nil {
    return err
    }
    }
  • replacement in fast-export.go at line 101
    [3.385][2.18:33]()
    marks int
    [3.385]
    [2.33]
    marks Marks
  • replacement in fast-export.go at line 107
    [3.466][3.466:497]()
    f.marks++
    c.Mark = f.marks
    [3.466]
    [3.497]
    c.Mark = f.marks.Next()
  • edit in fast-export.go at line 138
    [2.148][3.2317:2328](),[3.2317][3.2317:2328]()
    f.marks++
  • replacement in fast-export.go at line 139
    [3.2340][3.2340:2357]()
    Mark: f.marks,
    [3.2340]
    [3.2357]
    Mark: f.marks.Next(),