Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several optimization ideas about external git pod cache #11173

Open
1 task done
xuzhongping opened this issue Jan 27, 2022 · 0 comments
Open
1 task done

Several optimization ideas about external git pod cache #11173

xuzhongping opened this issue Jan 27, 2022 · 0 comments

Comments

@xuzhongping
Copy link
Contributor

xuzhongping commented Jan 27, 2022

Report

Background

In fact, there are some problems with the current downloading and caching methods of external git pods or places that can be optimized. I would like to express my thoughts.

Idea

  • It is necessary to fix the problem that shallow cloning cannot be performed when setting the branch parameters. I submitted my specific repair process PR in the cocoapods-downloader gem, and brought a more reasonable judgment logic, which can lead to more efficient downloads(this also works for release pods);
  • If there is only one: git options, you can try to get the commit hash of the remote HEAD, which is similar to the processing of the branch parameter, this way is similar to Use git ls-remote to avoid git clones of :branch dependencies #5376, I created a commit in my branch;
  • Try shallow git clones as much as possible (this also works for release pods);
  • For the cache directory name of the external git pod, some unimportant parameters should be filtered. In fact, only using ‘commit’ to participate in the calculation of the directory name can make the cache reuse rate higher.

These solutions may involve both cocoapods and cocoapods-downloader gems. In order to make the discussion more efficient, I propose them here, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant