Giter VIP home page Giter VIP logo

backportbot's People

Contributors

christophwurst avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar kesselb avatar mejo- avatar morrisjobke avatar nextcloud-bot avatar nickvergessen avatar rullzer avatar skjnldsv avatar st3iny avatar tobiaskaminsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

backportbot's Issues

Use a fallback mergetool to resolve easy conflicts

While manually backporting nextcloud/documentation#11565 I notice that git can't automatically cherry-pick the full changes to stable27. Locally I use kdiff3 as mergetool and running "git mergetool" resolves conflicts without my help. So it would be quite cool if the bot could resolve those as well. We might just want to show a warning that there were conflicts and those were resolved automatically.

rebase

I know it is called backport bot, but a "rebase" command would be great, same like dependany bot has it.

Backport bot can't assign bots (dependabot) on a backported PR

Issue:

Bot posted a message after creating a backport (If I understand it correclty, when trying to assign dependabot on a new PR):

The backport to `stable28` failed. Please do this backport manually.
...
Error: Failed to create pull request: Failed to request reviews: Reviews may only be requested from collaborators.
One or more of the users or teams you specified is not a collaborator of the nextcloud/spreed repository.

Reviews were requested, but PR is processed without any person assigned.

Proposal:

Maybe we could keep in memory a person who triggered a PR, and assign him as a fallback?

Inform about backport policy

Adjust backport bot message to

  • add info when backport should be done:
  • TBD
  • ask developer if they still think that backport is needed, else cancel/remove it

Bot crashes with `[HttpError]: other side closed`

 /app/node_modules/@octokit/request/dist-node/index.js:156
     throw new import_request_error.RequestError(message, 500, {
           ^
 
 RequestError [HttpError]: other side closed
     at /app/node_modules/@octokit/request/dist-node/index.js:156:11
     at addReaction (/app/src/githubUtils.ts:37:2) {
   status: 500,
   request: {
     method: 'POST',
     url: 'https://api.github.com/repos/nextcloud/server/issues/comments/1953680517/reactions',
     headers: {
       accept: 'application/vnd.github.v3+json',
       'user-agent': 'octokit-rest.js/20.0.2 octokit-core.js/5.0.2 Node.js/20.11.1 (linux; x64)',
       authorization: 'token [REDACTED]',
       'content-type': 'application/json; charset=utf-8'
     },
     body: '{"content":"+1"}',
     request: { hook: [Function: bound bound register] }
   }
 }

Copy over the labels

The labels should be copied over (except for some special ones like the "3. to review") in case of the Nextcloud repos.

Open PR even if backport is failing

  • have a PR
  • backport it
  • backport is failing due to conflicts
  • backport bot is now only saying "failing"

Instead it should open the PR so that users can fix the backport and merge it.
Otherwise/currently they have to do the backport manually again.

Strict mode aka. confirm "no backport needed"

So if there was no "/backport to โ€ฆ" nor "/backport no" the bot should asks:

Is a backport needed?
if no, you can prevent this message in the future by leaving a `/backport no` comment.

New system with --stragegy ours may lead to data loss

With latest version, I sometimes see that a backport is missing parts of the commits.
This is dangerous and a drawback than before (where backport had to be done entirely manually in case of a conflict).
I think it is better to not use --strategy ours, but rather commit the merge conflict, so that we can solve it manually.

Don't discard conflicted hunks

Because it makes people lose time when trying to find out which parts to fix.

Usually the workaround is to discard the backport completely and cherry-pick everything again. That can be a waste of time if the conflict is only in a small file when dealing with big PRs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.