Dirk Müller
9e80a64fe0
Change hostname references from gitea.opensuse.org to src.opensuse.org
2023-06-19 10:59:56 +02:00
Stephan Kulow
dd5e26b779
Clarify which of the candidates is the right one - removing assert
2022-11-03 15:29:58 +01:00
Stephan Kulow
f2019db8ff
Ignore merge point candidates that create crosses
...
In OBS you can create submit requests for revisions that are behind
the last merge point, in git you can't - so we ignore them.
Fixes #14
2022-11-03 15:19:51 +01:00
Stephan Kulow
c4654dd896
Split GitExporter out of Importer class
2022-11-02 07:59:25 +01:00
Stephan Kulow
4ff9b9771a
Split out Flat generator to be able to test it
2022-11-02 07:20:53 +01:00
Stephan Kulow
c94d13d74e
Don't crash on packages without merges ever (very few packages)
2022-11-01 19:30:41 +01:00
Stephan Kulow
ab8120ca53
Don't crash on last_node
2022-11-01 19:02:29 +01:00
Stephan Kulow
b2cadb8c01
Don't crash on packages that didn't get updates in devel
2022-11-01 18:44:59 +01:00
Stephan Kulow
578fb2a30a
Change tree pruning algorithm
...
The first merge we see in Factory determines if we keep the devel
commits in the factory chain or cut that branch.
2022-11-01 13:52:15 +01:00
Stephan Kulow
bfdade8ecf
Create a flat list of commits to do from the tree
...
Walk the node tree and record the parents, then reverse the tree so we
can have the exact order in which to create git commits
2022-10-31 12:28:12 +01:00
Stephan Kulow
8a3db6c183
Collect the requests for revisions in one DB call
...
For smaller packages this doesn't matter as much, but for large ones
the N+1 queries can sum up badly
2022-10-31 08:03:01 +01:00
Stephan Kulow
822329279d
Switch to walker for tree print
2022-10-31 07:03:19 +01:00
Stephan Kulow
e636f3ed9d
Print the calculated tree for now
2022-10-27 13:34:04 +02:00
Stephan Kulow
7a9e9ce334
Add actual tree and a test case for zsh
2022-10-27 13:16:50 +02:00
Stephan Kulow
9bd6643e8a
Fix files_hash calculcation and fake revisions
2022-10-26 22:18:16 +02:00
Stephan Kulow
d961c13614
Ignore commits after the merge
2022-10-26 14:56:38 +02:00
Stephan Kulow
2784171f75
Create fake revisions for every commit in the base of a linked package
...
This is a rather complex operation, but whenever a package changes in
Factory, the inherited package gets a shadow revision consisting of the
3-way merge. If this happens due to a request being accepted, this is
actually in most cases also commited by 'buildservice-autocommit',
so we're making sure this is always happening (and are actually
duplicating revisions in cases that we filter out later as empty
commits).
To differenciate the fake revisions from the real revisions, I add
a fraction part
2022-10-26 14:56:38 +02:00
Stephan Kulow
d17e60a608
Add another table to store linked_revs
...
We need to create fake revisions when packages were touched that are
linked themselves
2022-10-26 14:20:28 +02:00
Stephan Kulow
089b215f4c
Build a revision tree
2022-10-26 14:16:22 +02:00