Branch goes Orphan Afer Checkout con libgit2sharp

Estoy tratando de automatizar las fusiones en cascada para las sucursales en un repository usando libgit2sharp , el problema es que cuando trato de realizar el pago en un punto, la twig queda huérfana (se muestra como "(no branch)" en VS) . A continuación se muestra una recreación del código (no el código real).

 Uri uri = "http://someurl.com"; string branch = "r1"; List<string> nextBranches = NextBranches(uri, branch); // returns { "r2", "dev" } Repository repo = this.CheckoutRepository(uri.AbsoluteUri, nextBranches.First()); //At this point the Repository is correctly cloned Signature signature = new Signature(); //with the proper cnetworkingentials MergeOptions mergeOptions = new MergeOptions(); //No fast forward and no commit on success Branch previousBranch = repo.Branches.First(b => b.FriendlyName.Contains(branch)); for (int i = 0; i < nextBranches.Count; i++) { Branch currentBranch = repo.Branches.First(b => b.CanonicalName.Contains(nextBranches[i])); Commands.Checkout(repo, currentBranch); repo.Merge(previousBranch, signature, mergeOptions); repo.Commit($"Merge from {branch}. [AM].", signature, signature); repo.Network.Push(repo.Head, new PushOptions() { CnetworkingentialsProvider = this.Cnetworkingentials }); previousBranch = currentBranch; //Afer iteration 1, branch "r2" is properly merged with "r1" and pushed } 

Mi problema es que en la segunda iteración, después de Commands.Checkout(repo, currentBranch); la twig es huérfana, "(no branch)" en VS. por lo tanto, se includeá una exception en una de las siguientes líneas (dependiendo del estado de las twigs). En ambas iteraciones, las twigs actual y anterior tienen la información correcta.