Comments (4)
Hi @mvayngrib This is a great idea, which I'm sure my team would love as well. It will reduce the manual effort of opening the pull request and such.
As conflict can exist in any of the commits, I think it would be best to commit and push the conflicting commit and provide instructions in the pull request on how to resolve the conflicts and continue cherry-picking.
I'll keep this issue in mind when planning new feature work. Of course, I'd be happy to receive a contribution for this as well. Either way, thanks for the great suggestion.
from backport-action.
@korthout I'll give this a try, if you have additional information, feel free to add them.
from backport-action.
Here's what i currently have in mind, after investigation:
Proposition
-
cherry-pick
every commit up until the first conflict encountered. -
DO NOT commit the actual commit conflict.
- As I see it, this would put additional burden on the user to actually figure out which files contains a conflict and then make sure to correctly remove comparison operators (i.e.
<<<<<<<
). Some IDE (i.e., VSCode) natively detect said operators as soon as you open a file and propose you to resolve the conflict, but not all of them do that (i.e., Visual Studio).
-
push
the branch -
Proceed to create the PR as DRAFT
- May add a label too? I'm open to suggestion.
- I really want to avoid the user to merge an unresolved branch. My fear is that this workflow allows the user to approve his own backported PR in repos where only 1 reviewer is needed. The original user could commit this unresolved PR without another review if he does not push anything on the backported branch. At some point it might be a good idea to request reviews from the original approvers when creating the PR, but that would require additional work outside of the context of this issue.
- Provide a set of instructions in the Draft PR to continue the
cherry-pick
.
from backport-action.
Related Issues (20)
- No error comment when target branch doesn't exist
- Improve manual instructions HOT 1
- Publish action on marketplace HOT 3
- Unable to eat dogfood HOT 1
- Automate release process
- Document action outputs
- [Feature Request] Support auto-deletion for branches if the backport PR is closed HOT 1
- Feature request: allow specifying mainline HOT 9
- PR commits are cherry-picked instead of the squashed commit HOT 8
- Feature request : backport to all open feature branches HOT 8
- Use PAT in eat-your-own-dogfood workflow
- Support glob patterns in `target_branches` input
- Improve error message on workflow file changes HOT 5
- Support skipping merge commits HOT 3
- PRs created by backport-action should trigger the CI HOT 1
- ability to backport a PR to any repo, not necessarily a fork HOT 3
- Instructions for manually cherry-picking are incorrect as they do not skip merge commits HOT 2
- Get The successful PR numbers as an output of the action HOT 1
- Improve the error messages
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from backport-action.