From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [TO-BE-TESTED] support/download/hg: implement repository cache
Date: Fri, 8 Feb 2019 20:54:44 +0100 [thread overview]
Message-ID: <20190208195444.GD3079@scaer> (raw)
In-Reply-To: <3e9d7a7a-9904-c2ab-0bb2-eb95a32895eb@mind.be>
Arnout, All,
On 2019-02-08 20:27 +0100, Arnout Vandecappelle spake thusly:
> On 08/02/2019 17:54, Yann E. MORIN wrote:
> > On 2019-02-07 22:33 +0100, Arnout Vandecappelle spake thusly:
> >> On 05/02/2019 21:24, Thomas De Schampheleire wrote:
> >>> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> >>>
> >>> Similar to the git download helper, implement a repository cache for
> >>> Mercurial repositories.
> >>>
> >>> The code is mostly guided by the implementation for git, with certain parts
> >>> copied almost verbatim.
> >>>
> >>> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> >>> ---
> >>> index efb515fca5..bb5cc87969 100755
> >>> --- a/support/download/hg
> >>> +++ b/support/download/hg
> >>> @@ -1,7 +1,7 @@
> >>> #!/usr/bin/env bash
> >>>
> >>> # We want to catch any unexpected failure, and exit immediately
> >>> -set -e
> >>> +set -E
> >> Ow, this really is inherited from git, introduced by commit b7efb43e86da96.
> >> Yann, care to explain?
> >
> > Yes, I care to explain. Even though I do write some crap most of the
> > time,
> I never said that!
I said it! :-)
[--SNIP--]
> > Like all backends, the actual tool is wrapped into a _git() function,
> > which was introduced more than three years ago, by commit 3f2bdd070
> > (support/download: protect from custom commands with spaces in args), as
> > a way to actually fix a bug actually reported by Thomas DS.
> >
> > Yes, this makes it that the set -E is needed, after all.
>
> But then the comment is wrong, no? Because -E does not imply -e and without -e
> there is no immediate exit. Or am I missing something else?
Yes, it is partly incorrect. But consider that, with the ERR trap, we
_do_ catch unexpected failures, but we no longer _immediately_ exit
anymore, indeed. We just postpone the exit to after the second
tentative, in which case we do exit immediately from the ERR trap.
However, I was thinking that maybe we could revisit this try-again code,
and just exit on the first error and rely on the user to actually clean
the git tree if it ever gets corrupted.
We initially added that, in case the repository was uterly broken,
because our backend itself was creating situations where it _could_
leave the repo in an inconsistent state, or the autobuilder code would
do that (e.g. timeout-kill-9 the build right in the middle of a git
action).
However, the git backend was fixed to supposedly always leave the tree
in a consistent state now, and the autobuilder code now timeouts from
the last step, not from the build start, so we can assume that not git
action would now be interrupted abruptely anymore...
Yet, I am a bit contrived, as the git backend is partly my fault, and so
I'm not entirely happy with it...
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2019-02-08 19:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-05 20:24 [Buildroot] [TO-BE-TESTED] support/download/hg: implement repository cache Thomas De Schampheleire
2019-02-07 21:33 ` Arnout Vandecappelle
2019-02-08 16:54 ` Yann E. MORIN
2019-02-08 19:27 ` Arnout Vandecappelle
2019-02-08 19:54 ` Yann E. MORIN [this message]
2019-02-08 20:54 ` Arnout Vandecappelle
2019-02-08 21:18 ` Yann E. MORIN
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190208195444.GD3079@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox