public void ReadPackedReferences()
        {
            var packedRefs =
                @"# pack-refs with:
1111111111111111111111111111111111111111 refs/heads/master
2222222222222222222222222222222222222222 refs/heads/br
^3333333333333333333333333333333333333333
4444444444444444444444444444444444444444 x
5555555555555555555555555555555555555555 y 
6666666666666666666666666666666666666666 y z
7777777777777777777777777777777777777777 refs/heads/br
";

            var actual = GitReferenceResolver.ReadPackedReferences(new StringReader(packedRefs), "<path>");

            AssertEx.SetEqual(new[]
            {
                "refs/heads/br:2222222222222222222222222222222222222222",
                "refs/heads/master:1111111111111111111111111111111111111111"
            }, actual.Select(e => $"{e.Key}:{e.Value}"));
        }
 [InlineData("# pack-refs with:xyz\n^1111111111111111111111111111111111111111\n^2222222222222222222222222222222222222222")] // tag dereference without previous ref
 public void ReadPackedReferences_Errors(string content)
 {
     Assert.Throws <InvalidDataException>(() => GitReferenceResolver.ReadPackedReferences(new StringReader(content), "<path>"));
 }
 public void ReadPackedReferences_Empty(string content)
 {
     Assert.Empty(GitReferenceResolver.ReadPackedReferences(new StringReader(content), "<path>"));
 }