Replies: 1 comment
-
|
I've pushed a new commit that:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello - and thanks for the product.
Intro
I am looking for a stable, cross platform Git GUI for my team. We have been using Git Extensions, but since they changed to Windows-only (a while back) it makes Linux, WSL, Mac, and VMs difficult to be consistent and train less coding-oriented users on, so I'm looking for a stable alternative.
The Submodule Recursion problem
Everything in SourceGit looks great, except that automatic submodule updates exist and force
--recursiveI see there is a closed issue with some discussion of this - however, there were a lot of different perspectives and use cases/problem statements that appeared to muddle the conversation from my perspective.Our main deployment system cannot work with
--recursiveas it will infinitely loop until your hard drive space is filled up. I know one can argue you shouldn't design this way, but there are good technical reasons from a test/build perspective this was originally done, and regardless of what a "pure, perfect, best practice system" might look like, in practice systems are what they are and the effort to change our system means it will not happen to accommodate an opinionated tool decision, so the question is, can all submodule designs be easily accommodated in SourceGit.There are other considerations, but my make or break is that any submodule update command should not recurse - one level deep only. Git Extensions largely allows this by turning off auto-updates in the configs, though you still have to get users to set that in config (I can deal with that) and train users to uncheck the exposed "update submodules" in the clone repo window, which comes up checked by default. Just have to make it a habit to uncheck.
The Straightforward, Minimal Solution
While the
--recursivebehavior may be desired for 90% of cases, not accommodation the 10% basically means the tool is unusable for those that must deal with it.I believe a solution can be boiled down to a very simple solution, at the minimum:
--recursivefrom all submodule commands (just adding or not adding that extra text in the commands)You could do more, such as having checkboxes to choose on a case by case basis whether to recurse of now, but implementing 1, and if desired, 2, fixes this problem enough to allow users with this issue to at least use the tool, even if every case of working with submodules isn't optimal. The other use cases I have seen discussed in the closed issue, and that I've discussed elsewhere in the past, are more work-flow specific and detailed/preference items that can also be accommodated - but each one will add more complexity, and may involve UI, etc., whereas I think this base level of accommodation is pretty clean.
Beta Was this translation helpful? Give feedback.
All reactions