Support for creating zip archives
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Start in repository.py at Repository.write_archive and compare its current tarfile behavior with the proposed zipfile-based implementation linked in the issue. Confirm the supported archive options and the stated symlink limitation, then consider the work complete when write_archive can create zip archives in the requested cross-platform use case.
Written by the indexing model from the issue text.
Description
Given that pygit2 is probably the best option for Python developers building cross-platform Git applications
When a Windows (or, to a lesser extent) Mac user wants to create an archive, equivalent to using the git archive command,
Then they probably are going to want to create a zip archive
So that archive can be opened easily with their system's default file explorer
pygit2.Repository.write_archive currently only supports tarfiles.
I have written my own version of this method that I would like to contribute back to the project which supports creating zip archives, to the extent possible with the zipfile library (read: does not support symlink).
If that is something the maintainers would be interested in, please let me know, and I'll rework this into a PR that adds the code to repository.py and matches the existing style guide.
Thanks for building and maintaining such a stellar library!
- Dominant language
- Python
- Stars
- 1.7k
- Forks
- 408
- Avg merge
- 2d 57m
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from libgit2/pygit2
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
learningequality/ricecooker#747 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
run-llama/llama_index#23199 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
KhronosGroup/glTF-Blender-IO#2769 ·