It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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.

0 votes
Adam Ahmed Atlassian Team Apr 26, 2015

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.

0 votes
Adam Ahmed Atlassian Team Apr 26, 2015

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 Sign up to answer
Community showcase
Published in Bitbucket

Atlassian supported Jenkins integration for Bitbucket Server

We’ve been building a plugin to integrate Bitbucket Server and Jenkins CI, and I’m excited to announce that our alpha is ready to download and install. It lets you seamlessly configure a Jenkins job ...

1,035 views 3 17
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you