-
Notifications
You must be signed in to change notification settings - Fork 147
Description
Follow-up issue of #985 (#1189)
Previously, we improved push times by using the depth: 1 and singleBranch: true options in pullRemote when cloning. However, this fix doesn't improve pull times (which also happen during pushes) and it locks users into only being able to pull a single branch at a time.
Here are some more details from #1189 (comment):
Note that this effectively means that only the default branch is supported as a diff target. It can be deferred as this speeds up the checkout pretty significantly. However, this does nothing to address overall scalability with giant repos being proxied, pull time and ensuring that the proper diffs are captured by the proxy for presentation in the UI.
As a follow-up to these optimizations, it would be useful to capture the list of tips from a remote repository, persist it in the database and allow for diff's to be "selectable" to a given target branch for proper review. Otherwise, this effectively locks in Git Proxy to supporting one particular branching strategy. Probably fine for most projects but just thought I would raise it here. It can be tracked in an enhancement issue.
Were the proxy to clone all branches, then you can make singleBranch: false while still performing a shallow clone with depth: 1.