Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
heptapod
heptapod
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 126
    • Issues 126
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

This instance was upgraded to Heptapod 0.21.0 (final) today

  • heptapod
  • heptapodheptapod
  • Issues
  • #420

Closed
Open
Created Feb 09, 2021 by Georges Racinet@gracinet🦑Owner0 of 6 tasks completed0/6 tasks

Repository migration to native Mercurial VCS type

The only differences in persistent data between hg-git based and native Mercurial repositories are the commit hashes and the vcs_type field.

While the latter is very easy to update, there are many places that reference commit hashes in the database:

  • Issues and Merge Requests: description and title columns and their _html derivatives (stored renderings)
  • Comments on Issues, Merge Requests and other (common model that's called Note)
  • Merge Requests: several _sha columns in merge_requests and merge_request_diffs
  • Diff cache on filesystem or object storage (hoping a simple invalidation would be enough)
  • Releases: sha column, or tag (fallback if no sha)
  • ensure all refs from Git using the command provided by py-heptapod!52 (merged). See also #431 (closed)

This list will probably have to grow when we start digging into this for good.

There are many columns named sha in the database schema. I currently count 35 of them with a crude search:

grep -E 'sha[1|2 ].*(bytea|char|text)' structure.sql  | wc -l
35

Also, there is an ActiveRecord sha attribute type, backed by binary (bytea) columns. Systematic search for this type could give us more hits.

Work can start in the Heptapod 0.20.0 time frame, but it's likely to be complete only afterwards.

Edited Mar 09, 2021 by Georges Racinet
Assignee
Assign to
Heptapod 0.21.0
Milestone
Heptapod 0.21.0
Assign milestone
Time tracking
None
Due date
None