From 5a358f2cfdc46a99db9e595d7368ecfecba52de0 Mon Sep 17 00:00:00 2001 From: "Brenda J. Butler" Date: Fri, 13 Oct 2017 03:06:18 -0400 Subject: [PATCH] recognize the new packed-ref header format as long as line contains "peeled", accept it fixes the PackingType of packed-Refs not understood: # pack-refs with: peeled fully-peeled sorted problem --- git/refs/symbolic.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/git/refs/symbolic.py b/git/refs/symbolic.py index bef6ba3ce..8efeafc5c 100644 --- a/git/refs/symbolic.py +++ b/git/refs/symbolic.py @@ -96,7 +96,15 @@ def _iter_packed_refs(cls, repo): if not line: continue if line.startswith('#'): - if line.startswith('# pack-refs with:') and not line.endswith('peeled'): + # "# pack-refs with: peeled fully-peeled sorted" + # the git source code shows "peeled", + # "fully-peeled" and "sorted" as the keywords + # that can go on this line, as per comments in git file + # refs/packed-backend.c + # I looked at master on 2017-10-11, + # commit 111ef79afe, after tag v2.15.0-rc1 + # from repo https://github.com/git/git.git + if line.startswith('# pack-refs with:') and 'peeled' not in line: raise TypeError("PackingType of packed-Refs not understood: %r" % line) # END abort if we do not understand the packing scheme continue