* --progress for git submodule update?
@ 2012-03-10 7:17 Chris Kees
2012-03-11 20:50 ` Jens Lehmann
0 siblings, 1 reply; 7+ messages in thread
From: Chris Kees @ 2012-03-10 7:17 UTC (permalink / raw)
To: git
Hi,
Would it be reasonable to have a --progress option for 'git submodule
update'? I'm using buildbot with a git repository containing large
submodules, and buildbot times out on the submodule update
occasionally because there is no output for long periods of time.
Adjusting buildbot's timeout factor will do for me in the short run.
Thanks,
Chris
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --progress for git submodule update?
2012-03-10 7:17 --progress for git submodule update? Chris Kees
@ 2012-03-11 20:50 ` Jens Lehmann
2012-03-13 2:17 ` Chris Kees
0 siblings, 1 reply; 7+ messages in thread
From: Jens Lehmann @ 2012-03-11 20:50 UTC (permalink / raw)
To: Chris Kees; +Cc: git
Am 10.03.2012 08:17, schrieb Chris Kees:
> Would it be reasonable to have a --progress option for 'git submodule
> update'? I'm using buildbot with a git repository containing large
> submodules, and buildbot times out on the submodule update
> occasionally because there is no output for long periods of time.
> Adjusting buildbot's timeout factor will do for me in the short run.
As cloning a submodule talks a lot about its progress am I right
suspecting it is the checkout part that is taking so long for you?
The submodule script always uses the -q option for git checkout
(which also gets rid of the unwanted "detached HEAD" messages). So
AFAICS before a --progress option could be added to the submodule
script, git checkout would have to learn an option to show progress
but not the detached HEAD message (or to just suppress that advice).
What times are we talking about here?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --progress for git submodule update?
2012-03-11 20:50 ` Jens Lehmann
@ 2012-03-13 2:17 ` Chris Kees
2012-03-14 19:42 ` Jens Lehmann
0 siblings, 1 reply; 7+ messages in thread
From: Chris Kees @ 2012-03-13 2:17 UTC (permalink / raw)
To: Jens Lehmann; +Cc: git
It's 'git submodule update --recursive' that is taking so long
silently. The problem is mainly on the first time. There are about 10
submodules that together have taken more than 30 minutes. It's not
really just the amount of data, I think there are also network traffic
issues that slow things down on some systems.
Chris
On Sun, Mar 11, 2012 at 3:50 PM, Jens Lehmann <Jens.Lehmann@web.de> wrote:
> Am 10.03.2012 08:17, schrieb Chris Kees:
>> Would it be reasonable to have a --progress option for 'git submodule
>> update'? I'm using buildbot with a git repository containing large
>> submodules, and buildbot times out on the submodule update
>> occasionally because there is no output for long periods of time.
>> Adjusting buildbot's timeout factor will do for me in the short run.
>
> As cloning a submodule talks a lot about its progress am I right
> suspecting it is the checkout part that is taking so long for you?
> The submodule script always uses the -q option for git checkout
> (which also gets rid of the unwanted "detached HEAD" messages). So
> AFAICS before a --progress option could be added to the submodule
> script, git checkout would have to learn an option to show progress
> but not the detached HEAD message (or to just suppress that advice).
>
> What times are we talking about here?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --progress for git submodule update?
2012-03-13 2:17 ` Chris Kees
@ 2012-03-14 19:42 ` Jens Lehmann
2012-03-14 21:45 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: Jens Lehmann @ 2012-03-14 19:42 UTC (permalink / raw)
To: Chris Kees; +Cc: git
Am 13.03.2012 03:17, schrieb Chris Kees:
> It's 'git submodule update --recursive' that is taking so long
> silently. The problem is mainly on the first time. There are about 10
> submodules that together have taken more than 30 minutes. It's not
> really just the amount of data, I think there are also network traffic
> issues that slow things down on some systems.
I suppose with "first time" you mean right after "git submodule init",
when the submodules have to be cloned initially? Thinking about that
again, you mentioned a buildbot doing all that. When the submodules
are updated from a script, no progress output is shown at all and only
the line "Cloning into 'xxx'..." will appear for each submodule, which
explains why you don't see output for quite some time.
So I suspect increasing the timeout on your buildbot is the way to go,
as progress output is intended for humans.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --progress for git submodule update?
2012-03-14 19:42 ` Jens Lehmann
@ 2012-03-14 21:45 ` Junio C Hamano
2012-03-15 3:43 ` Chris Kees
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2012-03-14 21:45 UTC (permalink / raw)
To: Jens Lehmann; +Cc: Chris Kees, git
Jens Lehmann <Jens.Lehmann@web.de> writes:
> Am 13.03.2012 03:17, schrieb Chris Kees:
>> It's 'git submodule update --recursive' that is taking so long
>> silently. The problem is mainly on the first time. There are about 10
>> submodules that together have taken more than 30 minutes. It's not
>> really just the amount of data, I think there are also network traffic
>> issues that slow things down on some systems.
>
> I suppose with "first time" you mean right after "git submodule init",
> when the submodules have to be cloned initially? Thinking about that
> again, you mentioned a buildbot doing all that. When the submodules
> are updated from a script, no progress output is shown at all and only
> the line "Cloning into 'xxx'..." will appear for each submodule, which
> explains why you don't see output for quite some time.
>
> So I suspect increasing the timeout on your buildbot is the way to go,
> as progress output is intended for humans.
Considering that more often than not, people who run stuff from cronjob
request us to be quiet when nothing wrong happens, I think that is a
sane thing to suggest.
I do not mind "submodule $subcmd --progress" to pass "--progress" down to
whatever underlying git commands it uses, or squelch "-q" that it uses
when running them by default, though.
We may even want to make "git submodule init -q" to squelch the "Cloning
into..." message, but that is a separate topic.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --progress for git submodule update?
2012-03-14 21:45 ` Junio C Hamano
@ 2012-03-15 3:43 ` Chris Kees
2012-03-15 22:34 ` Jens Lehmann
0 siblings, 1 reply; 7+ messages in thread
From: Chris Kees @ 2012-03-15 3:43 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Jens Lehmann, git
Yes, I meant when they have to be cloned initially. It was actually
the builtbot developers who asked me to post a request because the
lack of output is used to trigger the timeout and the output is
conveniently stored and posted to the web so you can see what is
happening on a given platform. Here is the snippet from the log of a
machine failing because the python submodule of the project is taking
too long--clearly a slow network issue since python generally
shouldn't take more than 20 minutes to clone:
Cloning into externalPackages/clawpack/clawutil...
Submodule path 'externalPackages/clawpack/clawutil': checked out
'48f6be675b6fe40be62c39a48e1c948903e5c43d'
Cloning into externalPackages/clawpack/pyclaw...
Submodule path 'externalPackages/clawpack/pyclaw': checked out
'921b1796b9bb0d11db1ced7996f95b9b24ce0b23'
Cloning into externalPackages/clawpack/riemann...
Submodule path 'externalPackages/clawpack/riemann': checked out
'a16d64d750fc414ce131455734ae7d68d6c0f46b'
Cloning into externalPackages/clawpack/visclaw...
Submodule path 'externalPackages/clawpack/visclaw': checked out
'2b6ab68330c4498eade4b2e7dabc5de9b593ecac'
Cloning into externalPackages/cython...
Submodule path 'externalPackages/cython': checked out
'77fd4991fe270b1097318c8ccdca9740df68d9e6'
Cloning into externalPackages/daetk...
Submodule path 'externalPackages/daetk': checked out
'781f732fbc206cfdfa6da170fbc161a80d4133f8'
Cloning into externalPackages/hdf5...
Submodule path 'externalPackages/hdf5': checked out
'e853fa711d4ecc71ba7025c64db5bbe41558d635'
Cloning into externalPackages/ipython...
Submodule path 'externalPackages/ipython': checked out
'698e9abebe0d6e0f261e7050c48680c4608a0985'
Cloning into externalPackages/matplotlib...
Submodule path 'externalPackages/matplotlib': checked out
'd6ec786c28b9ddbcb0704a1a6e1fb7233eb3212b'
Cloning into externalPackages/mpi4py...
Submodule path 'externalPackages/mpi4py': checked out
'eac3d3602e8272ab8eff46988fde396f0a255d90'
Cloning into externalPackages/nose...
Submodule path 'externalPackages/nose': checked out
'ccb3878af99138301c612d5bb92e7a27d3e39d22'
Cloning into externalPackages/numexpr...
Submodule path 'externalPackages/numexpr': checked out
'ed3ca13b58548d68fbc8b9a380990aac1e4897c9'
Cloning into externalPackages/numpy...
Submodule path 'externalPackages/numpy': checked out
'3f685a1a990f7b6e5149c80b52436fb4207e49f5'
Cloning into externalPackages/petsc...
Submodule path 'externalPackages/petsc': checked out
'4d5fdb033efc8bf2cdfe228f993ec9305f98854b'
Cloning into externalPackages/petsc-BuildSystem...
Submodule path 'externalPackages/petsc-BuildSystem': checked out
'e9f7e22d13f5d12da05c8f5d34d574e4bfe053ff'
Cloning into externalPackages/petsc4py...
Submodule path 'externalPackages/petsc4py': checked out
'adae544de17fd8cdcf2d51290ddaecfbe2107180'
Cloning into externalPackages/pytables...
Submodule path 'externalPackages/pytables': checked out
'467ba035ba72acd7df28c648b1a52ecadebe4935'
Cloning into externalPackages/python...
command timed out: 1200 seconds without output, attempting to kill
process killed by signal 9
program finished with exit code -1
elapsedTime=2641.623387
On Wed, Mar 14, 2012 at 4:45 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Jens Lehmann <Jens.Lehmann@web.de> writes:
>
>> Am 13.03.2012 03:17, schrieb Chris Kees:
>>> It's 'git submodule update --recursive' that is taking so long
>>> silently. The problem is mainly on the first time. There are about 10
>>> submodules that together have taken more than 30 minutes. It's not
>>> really just the amount of data, I think there are also network traffic
>>> issues that slow things down on some systems.
>>
>> I suppose with "first time" you mean right after "git submodule init",
>> when the submodules have to be cloned initially? Thinking about that
>> again, you mentioned a buildbot doing all that. When the submodules
>> are updated from a script, no progress output is shown at all and only
>> the line "Cloning into 'xxx'..." will appear for each submodule, which
>> explains why you don't see output for quite some time.
>>
>> So I suspect increasing the timeout on your buildbot is the way to go,
>> as progress output is intended for humans.
>
> Considering that more often than not, people who run stuff from cronjob
> request us to be quiet when nothing wrong happens, I think that is a
> sane thing to suggest.
>
> I do not mind "submodule $subcmd --progress" to pass "--progress" down to
> whatever underlying git commands it uses, or squelch "-q" that it uses
> when running them by default, though.
>
> We may even want to make "git submodule init -q" to squelch the "Cloning
> into..." message, but that is a separate topic.
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --progress for git submodule update?
2012-03-15 3:43 ` Chris Kees
@ 2012-03-15 22:34 ` Jens Lehmann
0 siblings, 0 replies; 7+ messages in thread
From: Jens Lehmann @ 2012-03-15 22:34 UTC (permalink / raw)
To: Chris Kees; +Cc: Junio C Hamano, git
Am 15.03.2012 04:43, schrieb Chris Kees:
> Yes, I meant when they have to be cloned initially. It was actually
> the builtbot developers who asked me to post a request because the
> lack of output is used to trigger the timeout and the output is
> conveniently stored and posted to the web so you can see what is
> happening on a given platform. Here is the snippet from the log of a
> machine failing because the python submodule of the project is taking
> too long--clearly a slow network issue since python generally
> shouldn't take more than 20 minutes to clone:
[snip]
> '467ba035ba72acd7df28c648b1a52ecadebe4935'
> Cloning into externalPackages/python...
>
> command timed out: 1200 seconds without output, attempting to kill
> process killed by signal 9
> program finished with exit code -1
> elapsedTime=2641.623387
Ok. Another option you have is to avoid the long clone times. Clone
the external repo locally (but outside your build environment) and
instead of cloning the whole repo each time over the net just do a
fetch into the local copy (to get the latest updates over the slow
network). Then clone from there into your build environment (after
the buildbot edited the submodule url entry in .git/config to point
to the local copy). That should work substantially faster.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-03-15 22:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-10 7:17 --progress for git submodule update? Chris Kees
2012-03-11 20:50 ` Jens Lehmann
2012-03-13 2:17 ` Chris Kees
2012-03-14 19:42 ` Jens Lehmann
2012-03-14 21:45 ` Junio C Hamano
2012-03-15 3:43 ` Chris Kees
2012-03-15 22:34 ` Jens Lehmann
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 NNTP newsgroup(s).