~racb/git-ubuntu:commit-graph-builder

Last commit made on 2018-02-07
Get this branch:
git clone -b commit-graph-builder 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:
commit-graph-builder
Repository:
lp:~racb/git-ubuntu

Recent commits

94dbfe1... by Robie Basak

Add CommitGraph

688d19b... by Robie Basak

Replace __getitem__ for find_node for node finding

We don't need to implement __getitem__ everywhere. Just walk the tree
to find nodes of a particular name.

This is inefficient, but it should do for small data structures, which
is all I'm expecting for tests.

If we did want to optimise it, we could bubble up child object names
through their parents for quick location.

ad35d94... by Robie Basak

Add commit parent support

Allow callers to define commit parents by passing them directly.

This allows for a series of linear commits to be created in a single
statement, but more complex DAGs will still need multiple statements.
Placeholder support will arrive in a future commit.

fe8f1f2... by Robie Basak

Drop walk method

This is unused and untested currently, as walking currently has no
meaning for commits since they lack parent support.

128a49a... by Robie Basak

Add customisable commit message

This is particularly useful since for test purposes I'd like to create
Commit messages that are essentially the same but that have different
hashes. Mutating the message is an easy way to achieve this.

1662acd... by Robie Basak

Make signatures reproducible

pygit2.Signature by default includes a timestamp of the current time,
meaning that two Commit() objects created at different times will have
different hashes. This makes testing awkward, so make the signature
timestamp always be the same.

It looks like pygit2.Signature is directly mapped to the C
implementation, so I'm not sure it's feasible to stub out the time
function for testing. So this change will have to be without a test, as
I don't want to add a sleep in the test as the only other way of
simulating time passing.

9a34e75... by Nish Aravamudan

whitelist: add vagrant

Requested by Dan Watkins.

eff7c2d... by Nish Aravamudan

whitelist: add more packages entangled with PHP

5cda169... by Nish Aravamudan

whitelist: add libguestfs and kopanacore

4dde3fe... by Nish Aravamudan

gitubuntu: add API to call quilt and gbp

We want our quilt and gbp invocations to be reproducible when the
importer is run, or they might affect the resulting hashes. So use
application-specific logic via parameters (quilt) or environment (gbp)
to not load any configuration files.

LP: #1734137