Hi,
We have a usecase of a large shared Git repository with many users, but certain users only wanting to pull certain data within the repo. Through the command line we can do things like sparse clones, we've noticed however that in Sourcetree many users have inadvertently pulled the entire repo resulting in over 10GB of data on their drive. I was curious what options the Sourcetree UI had for supporting a use case like this.
We've also seen a lot of inconsistency with the size of the repository when users perform a pull through Sourcetree, some users end up with 8 to 10 GB, some with 50GB plus. What can cause these disparities?
Thanks
Sourcetree does not have a native UI option for sparse checkout or partial clone. Atlassian confirmed this; this has to be set up through the terminal. Sourcetree has a Terminal button in the toolbar for that, and once set up, it will manage the repo normally afterward.
What I would do:
git clone --filter=blob:none for a partial clone.git sparse-checkout init and git sparse-checkout set <path> to scope the working tree to what each user needs.For the size disparity between 8 to 10GB and 50GB plus pulls, I would check:
fetchinclude or fetchexclude values pull very different amounts of binary data.Do you know if this repo uses Git LFS or submodules? That would narrow it down quickly.
Cheers, Martin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.