Is it possible to make SourceTree not do a recursive submodule checkout when switching between branches? Even though the original checkout was done without submodule recursion, a branch switch always does this:
git -c diff.mnemonicprefix=false -c core.quotepath=false submodule update --init --recursive
We are having a project where the number of submodules increased to +50. Because of the lack of this option we stopped using SourceTree because you can guess that switching a branch was a real PITA.
An other point for this option is that not every developer has access to every submodule, so he gets an error message on every pull and checkout what causes in addition a parent repository with damaged submodules.
IMHO the idea of submodules is that you can decide yourself to clone it or not. If I only want to make a small change within the 100 kb big parent repository I do not want to clone 2 gb of submodules.
Looking forward to see this option back again in SourceTree.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
My colleagues are proposing to use smartGit or GitKraken that haven't problem with submodules when they switch brunches. What GUI for git are you using now?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I have tried the gitk , but it also sync the submodules everytime I chechout the branch. so how to config it ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've created bug report about this problem. You can vote it here
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
But there is this option? Why did you remove it??
https://blog.sourcetreeapp.com/page/4/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've used SourceTree for some monthes, but without this feature I should select other GUI program for git. Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yet another year and no fix? This basically almost stops me from using SourceTree
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We have a similar interest and have not seen any good solutions.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Actually I find the answer accidentally.
On the right upper side there is a button `Settings` which is different for each repo. Under the `Advanced Tab` there is the option.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Which option? I did not find there anything useful. Maybe it disappeared in my version :-(
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I don't see the option either, is there a new way to disable it ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
He's partialy right, it's the "Automatically refresh(...)" checkbox. After unchecking this option, the submodules don't update recursively by doubleclicking them. But they still update recursively after swtiching an branch... kinda annoying
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I use a script as a workaround. Just select use system git and navigate to a script like this one:
#!/bin/bash
GITBIN=/usr/local/bin/git
if [[ $@ == *"submodule update --init --recursive" ]]; then
$GITBIN ${@:1:$(($# - 1))}
else
$GITBIN "$@"
fi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
How do you make this work in windows?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
OK, it seems that there is no hope for restoring the option. Probably most people are not having my problems and I can live with different GUI and command-line tools. Thank you for your time.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yet another year and no fix? This basically stops our whole company from using SourceTree
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
to a) i do not see this as a problem. This is just as any other developers bug, like forgetting to add a new file to git. This should (imo) not be fixed by "special" submodule checkouts. to b) I don't see this as a problem. Checking out submodules detached is the standard behaviour of git submodule update.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I see two problems with submodules: a) if some team members are not using them properly (i.e. not commiting the submodule hashes in main repo) then every checkout in main repo is a pain, b) It is checking out comits (not branches) on submodules, so each checkout on main repo detaches other repos. The option to disable this feature would be fine.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
--recursive can be an issue if you've set up your submodules in a way where you want more control over how they get initialized. Such as, if any of your submodules of your application also have your framework as a submodule, recursive will check out N number of that framework. One of the downsides to submodules, really, but the frustrating thing was how Sourcetree didn't have an option to disable it. Although, as you can see below it now is an option under `Settings`.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What is the problem with --recursive? In our project we need recursive updates because have nested submodules.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
A year has passed and this still hasn't been fixed? It makes sourcetree unusable for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Same issue when double-clicking a submodule. Please provide a way to disable the --recurve option.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.