Understanding Mercurial conflict markersEdit
When using the ui.merge = internal:merge3 configuration described here, your merge conflict during a rebase will look like this:
    it(
      'registers created dataIDs in the garbage collector if it has been ' +
      'initialized',
      () => {
<<<<<<< dest:   e386ac907f43  - glh: Don't apply optimistic update as a side-...
        RelayGarbageCollector.prototype.register = jest.genMockFunction();
        const response = {node: {id: 0}};
||||||| base
        RelayGarbageCollector.prototype.register = jest.genMockFunction();
        const response = {node: {id: '123'}};
=======
        RelayGarbageCollector.prototype.register = jest.fn();
        const response = {node: {id: '123'}};
>>>>>>> source: 3038a435f33a  fn - glh: Replace jest.genMockFunction and rela...
        const data = new RelayStoreData();
        data.initializeGarbageCollector();
        const query = getNode(Relay.QL`query{node(id:"a") {id}}`);
        const garbageCollector = data.getGarbageCollector();
        expect(garbageCollector.register).not.toBeCalled();
        data.handleQueryPayload(query, response);
        expect(garbageCollector.register).toBeCalled();
        expect(garbageCollector.register.mock.calls[0][0]).toBe('a');
      }
    );
In this case:
- The first section, between 
<<<<<<< destand||||||| base: Shows how the upstream looks now. - The second section, between 
||||||| baseand=======: Shows how things used to look at the merge base. - The third section, between 
=======and>>>>>>> source: Shows your proposed change.