Skip to content
This repository has been archived by the owner on Nov 19, 2019. It is now read-only.

Modifications for Git support

Marios Fragkoulis edited this page Apr 28, 2014 · 16 revisions

Requirements

The modifications to the Alitheia-Core programming model and database schema should meet the following requirements:

  • A way to retrieve all commits done in a specific branch
  • Browsing of next/previous revision is currently based on timestamp. To be more generic, this needs to change and take the DAG into consideration

The above should also work for SVN.

Proposed modifications

The code block below (AS-IS) captures the part of the existing programming model that is relevant to the above requirements. Then the next code block (TO-BE) describes how the programming model could change to support Git-based projects in a way that meets the stated requirements.

  • AS-IS
class Branch {
  Set<ProjectVersion> branchIncoming;
  Set<ProjectVersion> branchOutgoing;
}

class ProjectVersion {
  Set<ProjectVersionParent> parents;
  Set<Branch> incomingBranches;
  Set<Branch> outgoingBranches;
}
  • TO-BE
class Branch {
  Set<ProjectVersion> versions;
}

class ProjectVersion {
  Set<ProjectVersionParent> parents;
  Set<Branch> visibleFrom;
}