Walk the MERGE_HEAD using a foreach loop.
auto repo = initRepo(_userRepo, OpenBare.yes); scope(exit) rmdirRecurse(_userRepo); string[] mergeHeadItems = [ "e496660174425e3147a0593ced2954f3ddbf65ca\n", "e496660174425e3147a0593ced2954f3ddbf65ca\n" ]; std.file.write(buildPath(repo.path, "MERGE_HEAD"), mergeHeadItems.join()); size_t count; foreach (oid; repo.walkMergeHead) { string line = mergeHeadItems[count++]; string commitHex = line.split[0]; assert(oid == GitOid(commitHex)); } // ensure we've iterated all itmes assert(count == 2); count = 0; foreach (oid; repo.walkMergeHead) { string line = mergeHeadItems[count++]; string commitHex = line.split[0]; assert(oid == GitOid(commitHex)); break; } // ensure 'break' works assert(count == 1);
Walk the MERGE_HEAD file in a foreach loop.