matrix-org / matrix-org/mscbot-python

Track a remote branch for an MSC

Open
#21 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
7
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Is your feature request related to a problem? Please describe.

In situations where the original author may want to delegate an MSC, and where - due to security reasons, or likewise - the author is unable to grant the delegate author access to the PR's origin repository, it may want to have the PR branch be updated from a remote branch instead, such as the delegate author's own fork.

In other situations, an organisation may want to - for legal reasons, or likewise - develop the commits on their own git server, but have them be fetched to the MSC's PR branch.

Describe the solution you'd like.

For these problems, I'd like the mscbot to be able to be set up to watch a remote branch. Be it on github, or on any compatible git server.

The original author of the PR has to setup the watch, via @mscbot watch <repository URL> <branch>.

After this, the MSC bot will only try to fetch commits from that branch via a git pull-like mechanism. That is to say; it will not force-push the PR branch with updates from the remote branch, it will only append new commits that were present in the remote branch, but not in the PR branch.

In other words, the MSC bot will only fast-forward the PR branch to the remote branch.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the @mscbot watch <repository URL> <branch> command and the bot’s existing MSC PR-branch update path; trace how remote branches and fast-forward updates are handled. Done means a configured remote branch can update the PR branch without force-pushing, including branches hosted on compatible Git servers.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, python
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.