(Probably only for D7)
Problem/Motivation
Currently, if two repositories have shared commits, there is no way to relate their entities.
That impacts on the number of rows in the entity tables needed per repository.
A simple example is drupal core. If initiative X push new code on top of drupal core to a new repository, we add all the information about drupal core again to the entities tables, which is lots of rows.
If we have relations between repositories, we can manage more efficiently the entities information on the database.
Please notice that this issue is different to #1546660: Project families, but it could be argued they are related.
Proposed resolution
Create a {versioncontrol_repository_families} table with an ID(and maybe a name, but probably not necessary).
Use that ID on the entities tables to prevent duplicated data.
We only need one ID(opposed to a relation with metadata), because we do not really care about hierarchy.
Remaining tasks
Done. Make the schema changes.
Make entities CRUD aware of the new schema.
Fix manual queries which use information which changed.
Fix views integration to use the new schema.
User interface changes
None.
API changes
Hopefully, none.
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | 0001-Issue-1546724-Updates-schema-to-introduce-the-idea-o.patch | 7.67 KB | marvil07 |
Comments
Comment #1
marvil07 commentedHere the first step, change the schema.
It includes the following changes:
Notice that the upgrade process is assuming we can not make assumptions about what already created repositories are part of the same family. Any step to try to do it is out of this initial scope(probably on the backend upgrade, or maybe manually from other places. e.g. based on project families when implemented).
This patch, and the following related changes will be also on the repo-families topic branch.
Comment #2
eliza411 commentedTagging even though it's not critical path because it is part of the sprint 2 work.
Comment #3
senpai commentedRemoving the sprint tag(s) because this is not considered a mandatory part of the finished product.
Comment #4
senpai commentedComment #5
marvil07 commentedRight, not mandatory for d.o, but it's not minor for the project.
Comment #6
senpai commentedFor project management purposes, using the extremely limited tools available on this site, it's the only way I have of sorting things in lists of tickets.
Not intended to demote the value of this task in the grand scheme of things.
Comment #7
sdboyer commentedthen let's please remove it entirely from the project management list. i'm sorry, but the integrity of the issue queue is more important.
Comment #8
marvil07 commentedWe should open a feature branch for this.
Comment #9
marvil07 commentedLast patch, with minor modification to use first hook_update_N on 7.x-2.x, added on repository-families topic branch.
Comment #9.0
marvil07 commentedUpdated issue summary: Some more steps.