Skip to content

Improving download performance when cloning based on specific branches or tags #187

@MoonJeWoong

Description

@MoonJeWoong

Is your feature request related to a problem? Please describe.
Currently, the download method in project is using the pygit2 library to download the target repository. In order to download by a specific branch or tag, it downloads the default branch of the remote repository and then performs checkout once more, which causes unnecessary performance degradation. To solve this, I want to refactor it so that the download can be done directly by a specific branch or tag using the gitPython library instead of pygit2.

Describe the solution you'd like
Refactor the current download method to download using gitPython instead of pygit2.

Additional context
Currently, the cli_download_and_extract method used in the download function takes about 35.25 seconds on average to complete a clone based on a specific branch. However, I have experimented with using gitPython to directly clone a specific branch and found that it takes about 13.97 seconds on average. I estimate that this refactoring should improve download speeds by about 61%.

Metadata

Metadata

Assignees

Labels

enhancement[PR/Issue] New feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions