cli: open pack-objects output files in binary mode to avoid write() error
Previous code failed as follows:
$ git rev-list main | dulwich pack-objects foo
Traceback (most recent call last):
File "/home/stsp/dulwich/venv/bin/dulwich", line 33, in <module>
sys.exit(load_entry_point('dulwich==0.20.50', 'console_scripts', 'dulwich')())
File "/home/stsp/dulwich/venv/lib/python3.9/site-packages/dulwich/cli.py", line 783, in main
return cmd_kls().run(argv[1:])
File "/home/stsp/dulwich/venv/lib/python3.9/site-packages/dulwich/cli.py", line 541, in run
porcelain.pack_objects(".", object_ids, packf, idxf)
File "/home/stsp/dulwich/venv/lib/python3.9/site-packages/dulwich/porcelain.py", line 1754, in pack_objects
entries, data_sum = write_pack_objects(
File "/home/stsp/dulwich/venv/lib/python3.9/site-packages/dulwich/pack.py", line 1713, in write_pack_objects
return write_pack_data(
File "/home/stsp/dulwich/venv/lib/python3.9/site-packages/dulwich/pack.py", line 1804, in write_pack_data
write(chunk)
TypeError: write() argument must be str, not bytes