git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Stefan Beller <sbeller@google.com>
To: Vitali Lovich <vlovich@gmail.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: --progress option for git submodule update?
Date: Wed, 9 Sep 2015 16:40:32 -0700	[thread overview]
Message-ID: <CAGZ79kYRYqVE35_i5+DvqOj7G6LvhBQgsQok5gabLY6x20F80w@mail.gmail.com> (raw)
In-Reply-To: <88E7FC00-9A87-4E20-89D8-4BF5997F7B07@gmail.com>

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 <vlovich@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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-09-09 23:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-09 22:52 --progress option for git submodule update? Vitali Lovich
2015-09-09 23:40 ` Stefan Beller [this message]
2015-09-10  3:06   ` Vitali Lovich
2015-09-11 23:05     ` Stefan Beller
2015-09-11 23:34       ` Vitali Lovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAGZ79kYRYqVE35_i5+DvqOj7G6LvhBQgsQok5gabLY6x20F80w@mail.gmail.com \
    --to=sbeller@google.com \
    --cc=git@vger.kernel.org \
    --cc=vlovich@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).