pmr

~thomir-deactivatedaccount/pmr:master

Last commit made on 2016-09-27
Get this branch:
git clone -b master https://git.launchpad.net/~thomir-deactivatedaccount/pmr
Only Thomi Richards can upload to this branch. If you are Thomi Richards please log in for upload directions.

Branch merges

Branch information

Name:
master
Repository:
lp:~thomir-deactivatedaccount/pmr

Recent commits

1240ef2... by Thomi Richards

Don't merge if tests fail.

6bed5fe... by Colin Watson

Produce nicer git commit messages

This avoids ugly "Merge commit '<hash>' into <merge-id>" messages, and
causes the commit_message field on merge proposals to mean something.
We now always create a merge commit, and construct a commit message that
includes the merge proposal ID, a shortened version of the repository
and path that match the titles of merge proposals in the Launchpad web
UI, and the commit_message field from the merge proposal. For example,
one might end up with:

  Merge #300000 from ~contributor/project:branch

  Rotate weasels instead of stoats

  Stoats object to being rotated, so rotate weasels instead. Unless
  otherwise specified, mustelid-rotation is through 180 degrees.

15192e6... by Stuart Bishop

Merge remote-tracking branch 'upstream/master'

b2a1cae... by Stuart Bishop

Do not push merge if tests fail (lp:1612514)

8450d95... by Thomi Richards

Initial code import.

ecaeb98... by Zygmunt Krynicki

Remove extra comments

Signed-off-by: Zygmunt Krynicki <email address hidden>

837c139... by Zygmunt Krynicki

Fix support for private git repositories

Private git repositories are not accessible over https. We need to use
the git+ssh URLs for them instead.

Signed-off-by: Zygmunt Krynicki <email address hidden>

a1ffa28... by Zygmunt Krynicki

Add experimental feedback to git merges

This patch adds experimental feedback to each merged git branch. Upon
initiation of the merge, a comment is added to let the user know that
pmr is actively looking at merge request.

Following that, preparations are made (clones/fetches) and if they fail
an error is logged (but nothing is mentioned in the merge request yet as
the issue may be temporary).

Next a merge is attempted, if it fails an appropriate comment is added
and (with the vote of 'needs fixing') and the whole proposal is reverted
from approved to needs reviewed.

If the merge works, tests are started (optionally). Again if they fail
an appropriate comment is added and the merge proposal is updated.

Finally we try to push the branch, if that fails we just fail silently
as the whole process will begin again and this might be a transient
failure.

Signed-off-by: Zygmunt Krynicki <email address hidden>

6f03abe... by Zygmunt Krynicki

Tweak logging so that it's more useful by default

With this patch, logging is really only displayed (by default) when
something interesting is happening. This makes it possible to observe
merges as they happen, without having to scroll back to find them.

Signed-off-by: Zygmunt Krynicki <email address hidden>

5541bd2... by Zygmunt Krynicki

Loop natively and use authenticated logins

This patch makes the tool run forever, looping over all the projects
every minute. In addition, it now uses authenticated access as it will
sign-in as the user of the current machine. This makes it suitable to
process merge requests from a private project. The loop makes deployment
easier though there are still unsolved issues that prevent this from
really running as a service.

Signed-off-by: Zygmunt Krynicki <email address hidden>