Skip to content

Wrong binary state of a delta if patches have not been iterated#962

@matze

Description

@matze

Much to my surprise reading delta.is_binary returns the wrong value if one does not iterate over the patches beforehand. Given

mkdir test&&cdtest touch README.md dd if=/dev/urandom of=data.bin bs=256K count=1 git init . git add README.md && git commit -m "initial" git add data.bin && git commit -m "binary"

this script

importpygit2repo=pygit2.Repository('.git') diff=repo.diff('HEAD', 'HEAD~1') fordeltaindiff.deltas: print(delta.is_binary) forpatchindiff: passfordeltaindiff.deltas: print(delta.is_binary)

prints

False True

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions