Comments (7)
I think that is a reasonable feature request. You are correct in that this isn't currently supported behaviour. While we don't have time right now to make the change, we accept PRs and will review requests in a timely manner.
I think if you wanted to take a shot at this, you'd want to to add the merge_method
param to the update
configuration, and then using that merge method https://github.com/palantir/bulldozer/blob/develop/bulldozer/update.go#L102
from bulldozer.
Hi @arunpkqt ,
I guess we need to highlight this better in the docs, but the answer is yes! In the spec we allow users to specify the merge method as either rebase
, squash
or merge
.
You can also specify method by branch if you want to treat develop/master/release different from one another.
from bulldozer.
It looks like this setting configures the merge method when merging the branch to the target branch, but what I'd like to configure is the merge method when updating the branch from the target branch. This avoids the confusing git history when using merges to update the branch from the target branch.
I think this would mean that update:
can be set to method: rebase
Perhaps this is already possible and I don't understand the configuration?
Thanks!
from bulldozer.
On review, I don't think this is possible with the current Bulldozer architecture. The branch update feature relies on the Perform a merge API to do updates without making any local clones, and I believe that API can only create regular merge commits.
I don't want to add the complexity of managing local clones to Bulldozer, so I think this is blocked either on a new feature in GitHub or a clever way to perform a rebase using only the API, maybe via the Git Data APIs.
from bulldozer.
That makes sense. I doubt that GitHub is going to add a rebase branch API any time soon, but I'll email them a feature request anyway. Thanks for having a look.
from bulldozer.
There is a similar request on Kodiak (chdsbd/kodiak#150) -- it looks like there may be a way to do this with just the GitHub API (chdsbd/kodiak#150 (comment)).
from bulldozer.
This feature would be great to have!
Any updates?
from bulldozer.
Related Issues (20)
- Sporadic 403 "You have exceeded a secondary rate limitβ errors HOT 16
- New trigger idea: auto_merge HOT 1
- Support GitHub Merge Queue HOT 3
- Bot fails to interpret .bulldozer.yml HOT 2
- Verify author of a PR status HOT 3
- Can bulldozer wait until non-required checks are finished before merging? HOT 8
- Option to add update trigger after required statuses pass for the first time HOT 2
- Bulldozer doesn't trigger when use the shared configuration from `.github` repository HOT 1
- Bulldozer cause the Jenkins build to trigger twice HOT 1
- Add special "merge action" which comments instead of merging HOT 1
- Conditionally change commit title/body?
- Options can't be configured as ENV var HOT 2
- PRs left open when GitHub is too busy HOT 4
- pushing commits to master
- could not refresh installation id ####'s token: received non 2xx response status \"302 Found\" when fetching HOT 3
- Bulldozer is not auto merging my PRs HOT 6
- Could not refresh token error HOT 2
- Unable to merge due to branch protection rules HOT 1
- +1 year without release :disappointed: HOT 4
- Bulldozer causing Github Action workflows set to run on merge to be skipped HOT 1
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 bulldozer.