Instructions for resolving conflict are backwards

Tim Crall
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 24, 2015

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

0 votes
Tim Crall
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 27, 2015

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)

0 votes
Adam
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 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?

0 votes
Adam
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 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

Tim Crall
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 27, 2015

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
Tim Crall
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 24, 2015

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.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events