Skip to content

feat(stacked-diffs): adding stackref gathering in directory

Gary Holtz requested to merge gmh-stacked-diffs-save-additions into gmh-stacked-diffs

Description

This MR changes "title" to "description" in text and adds some methods for gathering the current stack refs into memory and working with them (using some slice libraries that seemed appropriately speedy enough)

Refs are currently stored in .json files within .git/refs/stacked/featurename/ and have are linked lists:

.git/refs/stacked/featurename/bbec1b96fd4784f3a82375cd17e6e7dd838f7cee.json:

{"prev":"","branch":"gary-cool-feature-bbec1b96","sha":"bbec1b96fd4784f3a82375cd17e6e7dd838f7cee","next":"214018bec2253fb900bebc297452f7b428e6eaaa","mr":"","description":"test123"}

.git/refs/stacked/featurename/214018bec2253fb900bebc297452f7b428e6eaaa.json:

{"prev":"bbec1b96fd4784f3a82375cd17e6e7dd838f7cee","branch":"gary-cool-feature-214018be","sha":"214018bec2253fb900bebc297452f7b428e6eaaa","next":"","mr":"","description":"hello"}

Where prev == "" is the first item in the stack and you can follow the next attributes through the files until next == "". There's also description field for the name of the change and an mr field that points to the MR for that change (not implemented yet)

Related Issues

Resolves #[issue_number]

How has this been tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation
  • Chore (Related to CI or Packaging to platforms)
  • Test gap

Relates to #7469

Edited by Gary Holtz

Merge request reports