3

If developers were to work on different branches for different features I understand that they can give a QA build from the feature branch and once it is tested it can be merged with "develop". But if the QA team is fairly large and can test multiple features at once how can they be given a build containing features that are residing in different branches?

Epsilon
  • 160
  • 1
  • 10

1 Answers1

8

But if the QA team is fairly large and can test multiple features at once how can they be given a build containing features that are residing in different branches?

That would be by:

  • setting up an integration branch, reset to the latest master,
  • asking for the developers to push their feature branch OR
  • or fetching the different developer's repositories, and merging the right feature branches in the integration branch
  • running tests in said integration branch
yarwest
  • 709
  • 6
  • 19
VonC
  • 1,042,979
  • 435
  • 3,649
  • 4,283
  • 1
    An example: `git checkout -b integration origin/master && git merge origin/feature1 origin/feature2 [...] origin/featureN` – Pockets Jan 08 '17 at 14:25
  • This seems like a possible solution but I'm still a little confused. Assume 3 developers worked on 3 features A, B, C which are merged to an integration branch and a QA build is generated. A, B features pass the tests but not C. I think it is not correct to merge A and B into develop since QA tested an integration of A,B,C (although C failed). In this situation has the feature branching or even Gitflow workflow provided any advantages? – Epsilon Jan 08 '17 at 16:34
  • Then you use in integration branch a `git revert C` that will cancel C, and you can then merge integration to develop. – VonC Jan 08 '17 at 16:48
  • But then wouldn't QA have to test again? I think my problem is I don't understand the advantages of using feature branches in a situation like this. – Epsilon Jan 08 '17 at 17:36
  • 1
    Sure, QA test with B and C, then merge. The advantage is to integrate multiple features together, revert the ones which fails, and merge the rest. – VonC Jan 08 '17 at 17:56
  • This is starting to make sense now :-). So, is the whole point of feature branching the ability to generate a QA build from any combination of the features? – Epsilon Jan 08 '17 at 18:11
  • 1
    Yes, you isolate the development of different features each in their own branch, which allows you to mix and match in an integration branch. – VonC Jan 08 '17 at 19:19