#
# Copyright (c) 2016 Hewlett-Packard Enterprise Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
---
- desc: |
    Construct a repo layout where using a complex layout where a previous
    import from upstream having been completed, test that if a change was
    created on before the previous import was created, and merged to the
    target branch and then the previous import merge commit was merged
    with it, can we find the change correctly.

    i.e. will the searcher also include commit 'O' in the diagram below.

    Repository layout being tested

                O----
               /     \
          B---C---D---H---I---J---K     master
         /         \     /
        /           ----G
       /               /
      /       B1--C1--D1                import/next
     /       /
    A---E---F---L---M                   upstream/master


  tree:
    - [A, []]
    - [B, [A]]
    - [C, [B]]
    - [D, [C]]
    - [E, [A]]
    - [F, [E]]
    - [B1, [F]]
    - [C1, [B1]]
    - [D1, [C1]]
    - [G, [D, =D1]]
    - [O, [C]]
    - [H, [D, O]]
    - [I, [H, G]]
    - [J, [I]]
    - [K, [J]]
    - [L, [F]]
    - [M, [L]]

  branches:
    head: [master, K]
    upstream: [upstream/master, M]

  expected-changes: [B1, C1, D1, G, O, H, I, J, K]
