Instructions for resolving conflict are backwards

Screen Shot 2015-04-24 at 11.05.41 AM.pngOk, am I crazy here?

My original repo is 'DinnerFork'.  I've created a fork of it called 'SaladFork' with fork syncing enabled.

I'm working on the develop branch of both repos.  Changes made to DinnerFork/develop automatically show up on SaladFork/develop.  But if the change on DinnerFork/develop directly conflicts with a change on SaladFork/develop, it doesn't show up (this makes sense but is an alert created somewhere?)

When I try to create a Pull Request to merge DinnerFork/develop into SaladFork/develop to get those changes, it warns me that there is a conflict and that the merge can't be completed automatically.  All good.  But the git commands suggested by the "More information" link seem to be backwards, as they appear to be written as if I was working in the DinnerFork repo and trying to merge SaladFork into it, instead of the reverse.  Am I missing something?

Screen Shot 2015-04-24 at 10.33.14 AM.png

 

redacted_Screen Shot 2015-04-24 at 10.34.05 AM.png


EDIT: Screenshots below are related to my comment

Screen Shot 2015-04-24 at 11.08.16 AM.png

Screen Shot 2015-04-24 at 11.05.41 AM.png

4 answers

I guess a Pull Request isn't really appropriate here, I've discovered the "Synchronize" button which would be the right way to do this. But that isn't really working for me either because I'm getting a message saying "You did not provide an "enabled" setting to indicate whether synchronization should be enabled or disabled. An explicit value must be provided; the system will not implicitly choose one" - when, in fact, I did.

Hi Tim,

The idea is that you have more flexibility with the source branch (DinnerFork) than the target branch (SaladFork). In most cases, the target branch would be a central location that other people rely on to be correct, and the source branch would be your personal one. You want any conflicts to be resolved on your personal branch, and reviewed, before anything gets onto the stable SaladFork branch.

For that reason, we suggest you pull changes from the target/SaladFork branch into the source/DinnerFork branch and resolve conflicts there. Then you can open the (now conflictless) PR and have people review it before it gets onto the central/more-stable SaladFork branch.

We give the opposite instructions for automatic merges between releases (because you don't want to merge release/2.0 into release/1.0 when there are conflicts).

Ultimately it's a heuristic - we can't know for sure what the best way to do these merges is without knowing details of what your branches mean to you.

 

Hope that helps!

Adam

At the very least, the instructions should make this clear. The first line is a git fetch with no context and it assumes I'm working in a different repo than the one I am in fact working in, so that's unclear. If it started with a git clone of the other repo, then at least I'd be able to understand what it was telling me to do (instead, following the instructions literally results in trying to merge the same branch into itself, which doesn't accomplish much.

Ah I get it now. Yeah a Pull Request from a more stable branch to a less stable one is usually not what you want. I'm not sure about that error you're getting - it sounds like a bug of some kind. What page are you getting that on?

I'm getting the error message as soon as I click the "Synchronize" (which seems to show up on the Source or Commits pages when I'm on a branch which isn't synced - which usually seems to mean it only shows up when autosync has failed) I'm also noticing (don't know if this is related but I suspect so) that there is no way to change my syncronization settings changes - there's no "Save" button on the Settings->Forky syncing page and when I check or uncheck the box and then go to another screen and then return, my change is lost. This is on a 3.3.0 server. I also have a 3.8.0 server and on it when I check or uncheck the box it does a little spinny thing and the setting is saved, so I assume it was a bug that was fixed between those versions (although I didn't find it in a quick read-through of the release notes)

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

706 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot