So submodules...

I am currently working on improving submodules (some basic performance
improvements have been done, soon to be merged upstream, I currently
try to get parallelism working for git fetch --recurse-submodules and for
git submodule update eventually. I sent some early working patches for that,
but I am doing a whole new redesign without threads now).

On Wed, Sep 9, 2015 at 3:52 PM, Vitali Lovich <vlov...@gmail.com> wrote:
> Hi,
>
> Git submodule doesn’t have a --progress option like regular clone/fetch does. 
>  This means that it can hang a long time without output as it’s transferring 
> data, particularly for large repositories.

For repositories with nested submodules it is impossible to estimate
the progress because you don't know how many there are.
Say you have a layout like:

A
 -> B
-> C
-> D
    -> E
    -> F

whereas each letter is a repository and B,C,D are submodules of A and
E,F are submodules of D.
So if D is not cloned yet, it looks like A has only 3 submodules, but
in fact we need to update 5
submodules.

> This is problematic in automation scenarios where there can be upper-bounds 
> on how long a process may run without any output (to protect against 
> processes hanging for long periods of time without forward progress).

Maybe a better error-out-if-hanging would be better IMHO ?
Another option would be to enumerate the submodules and give the
currently estimated upper bound ?

Doh! I see what you're missing now after rereading the email closely.
You can add a --quiet option,
but --verbose or --progress just errors out, but you want that as a
possible argument for git clone
inside the git submodule update code.

Thanks,
Stefan

>
> I’m sure this has been asked for before but having this option would be 
> really nice for automation system (like buildbot) to take advantage of.  The 
> only alternative is a hacky solution to clone locally first with the 
> —progress option
> & then somehow set up the submodule to use the local clone as a reference.
>
> Thanks,
> Vitali--
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to