~racb/git-ubuntu:fix-importer-devel-branches

Last commit made on 2017-11-15
Get this branch:
git clone -b fix-importer-devel-branches https://git.launchpad.net/~racb/git-ubuntu
Only Robie Basak can upload to this branch. If you are Robie Basak please log in for upload directions.

Branch merges

Branch information

Name:
fix-importer-devel-branches
Repository:
lp:~racb/git-ubuntu

Recent commits

69cd3ea... by Robie Basak

Initial tests for _devel_branch_updates

bc9b42a... by Robie Basak

Add docstring for _devel_branch_updates

e016b8c... by Robie Basak

Adjust head_versions structure

Let's simplify this a little. Instead of containing a pygit2.Reference,
resolve it to a commit hash string first to simplify testing.

While I'm there, as we only need two elements, just use a two-tuple for
the dictionary values.

829d402... by Robie Basak

_devel_branch_updates: drop pkgname

This parameter is no longer used.

e1e7ade... by Robie Basak

Move printing to wrapper function

Really the inner function should do computation only and leave it to the
caller to report warnings etc. This will prevent noise when under test.

This changes the API of internal function _devel_branch_updates. It may
now return None for commit hashes, in which case the intention is that
the caller will suppress setting those refs but will be able to note
which refs are not being set. This is useful to maintain reporting.

The debug and warning messages are now slightly changed since less
information is available one level up the stack. It should still be
sufficient for debugging or warning purposes.

3863f6e... by Robie Basak

namespace, applied_prefix -> ref_prefix

_devel_branch_updates can be simplified by collapsing namespace and
applied_prefix into a single concept ref_prefix.

This should be a non-functional change.

9fdd9df... by Robie Basak

Factor out _devel_branch_updates

Move the core functionality into _devel_branch_updates, making
update_devel_branches a thin wrapper to it. This should introduce no
functional changes. _devel_branch_updates now has no dependencies so
should be easier to test.

0e51d22... by Robie Basak

Style: list of strings

Conceptually this is a list of strings, not a tuple. '' for things that
aren't English sentences. And no trailing comma as we're on a single
line.

853cb2e... by Nish Aravamudan

importer: rework and move devel pointer moving

After discussion with Robie on IRC, we decided that 0f3c943054ab
("import: drop publishing parent functionality") and 5aa33fa08078 ("Also
reset devel heads") introduced a regression in the semantics of the
devel pointers.

Before those changes, the devel pointers were merged up so as to be
fast-forwarding, as we imported publication entries, if the publication
entry was newer than the current devel pointer. In other words, the
devel pointers were part of the commit graph itself.

After those changes, the devel pointers are more like symbolic
references, describing meta-state about the commit graph, rather than
integral to the graph itself:

A given series devel branch, after a successful import, points to the
latest publication record in a given series.

The ubuntu/devel branch, after a successful import, points to the latest
series devel branch.

Given these 'rules', we can stop updating the devel pointers in the main
import loop and just do so after we are done importing. All series
branch pointers are updated, which is unnecessary but will generally be
a no-op. This allows the method to not be aware of reimporting or not.

LP: #1730655

Fixes: 0f3c943054ab ("import: drop publishing parent functionality")
Fixes: 5aa33fa08078 ("Also reset devel heads")

9507164... by Nish Aravamudan

source_information: add API to obtain all series objects/names