Skip to content
Snippets Groups Projects

[WIP] git bare revision cooker

This cooker handles a single revision history up to a revision id. It outputs a Git bare repository of the revision, directory and file objects, packed into a tarball.

This implementation uses the dulwich library to handle git objects. It writes progressively a disk-backed repository in a temporary location before outputting the tarball info the destination in-memory file.

As dulwich tree objects can only be created from the leaves (files) to the root, the tree-processing algorithm iterates in a depth-first fashion.

Further work includes:

  • making it ready for production
  • output a git bundle which is easier to work with as a git user

Related to #843 (closed)

Test Plan

Did manual tests in docker environment. Tested by running the cooker module directly with the vault-worker configuration found in Docker.

TODO need a pytest test suite inspired by the other cookers.


Migrated from D4766 (view on Phabricator)

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading