Search code examples
gitgit-bisect

git-bisect but for N repos


There is a bug in my code which can be easily reproduced since a test fails.

Up to now I used git-bisect in such cases, but it is only useful if there is only one git repo.

In my case there are 7.

Is there a way to do something like git-bisect but for N git repositories?

Update

There is one "container" Repo this contains mostly config. It is related to a particular customer.

Then there is one repo for the core-application.

Then where are N repos for plugins for this core-application.

Git submodules are not used in this context.

Update2

Up to now I don't use the google repo tool. AFAIK it can't bisect, too.


Solution

    1. First off : find a state when the test passed.

    2. Then : check if the test passes when reverting one single of the 7 repositories

    For example, let's say that :

    • the test passed when repositories were at commits :

      A1 A2 A3 A4 A5 A6 A7
      
    • the test doesn't pass when all repositories are at their new HEAD :

      B1 B2 B3 B4 B5 B6 B7
      

    try to see if the test passes in the following configurations :

    A1 B2 B3 B4 B5 B6 B7   
    B1 A2 B3 B4 B5 B6 B7   
    B1 B2 A3 B4 B5 B6 B7   
    etc ...
    

    If you manage to isolate a single repo this way : you just have to bisect on that one.