All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] support/download: make the git backend more robust
@ 2018-04-17 16:48 Yann E. MORIN
  2018-04-17 16:48 ` [Buildroot] [PATCH 1/4] download/git: ensure we always work in the expected repository Yann E. MORIN
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Yann E. MORIN @ 2018-04-17 16:48 UTC (permalink / raw)
  To: buildroot

Hello All!

This series is an attempt at making our git backend more robust in case
the git cache for a package got corrupted for whatever reason. For
example, a git action may got killed, there could have been a
power-loss, or anything that could leave the git tree in an inconsistent
state.

This has been praticualarly observed in autobuilders, where random
files got removed without taking into account that we now had git trees
in there.

First and foremost, we ensure that all the git comand we run will only
ever act on the git tree we're interested in, to avoid git going up
until it finds a valid directory.

Then, we always initialise the git tree, just in case. git-init is safe
to run on already initialised trees, and it restores broken ones in
working conditions.

Third, we properly handle the case where a git tree had a sub-dir
converted to/from a submodule, and the checkout crosses the boundary of
the conversion.

Finally, we drop support for shallow clones because they are not
reliable, and only ever worked by chance so far.

Thanks a lot to Ricardo, Arnout and Tomas for their inputs during the
discussions that led to this series. :-)


Regards,
Yann E. MORIN.


The following changes since commit 3f37dd7c3b5eb25a41edc6f72ba73e5a21b07e9b

  mariadb: bump version to 10.1.32 (2018-04-17 08:56:57 +0200)


are available in the git repository at:

  git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to 62d815cfe104e4d172ca4d51e1d56e577f737b87

  download/git: always do full-clone (2018-04-17 18:39:59 +0200)


----------------------------------------------------------------
Yann E. MORIN (4):
      download/git: ensure we always work in the expected repository
      download/git: ensure we have a sane repository
      download/git: ensure we can checkout repos with submodule conversions
      download/git: always do full-clone

 support/download/git | 66 +++++++++++++++++++++++++++-------------------------
 1 file changed, 34 insertions(+), 32 deletions(-)

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-04-20  9:25 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-17 16:48 [Buildroot] [PATCH 0/4] support/download: make the git backend more robust Yann E. MORIN
2018-04-17 16:48 ` [Buildroot] [PATCH 1/4] download/git: ensure we always work in the expected repository Yann E. MORIN
2018-04-19 15:47   ` Ricardo Martincoski
2018-04-19 20:38   ` Thomas Petazzoni
2018-04-17 16:48 ` [Buildroot] [PATCH 2/4] download/git: ensure we have a sane repository Yann E. MORIN
2018-04-19 15:50   ` Ricardo Martincoski
2018-04-19 19:45     ` Yann E. MORIN
2018-04-19 20:38   ` Thomas Petazzoni
2018-04-17 16:48 ` [Buildroot] [PATCH 3/4] download/git: ensure we can checkout repos with submodule conversions Yann E. MORIN
2018-04-18  3:13   ` Ricardo Martincoski
2018-04-18  8:04     ` Arnout Vandecappelle
2018-04-19  0:59       ` Ricardo Martincoski
2018-04-19 19:59       ` Yann E. MORIN
2018-04-19 23:30         ` Arnout Vandecappelle
2018-04-20  9:25           ` Yann E. MORIN
2018-04-17 16:48 ` [Buildroot] [PATCH 4/4] download/git: always do full-clone Yann E. MORIN
2018-04-18  3:18   ` Ricardo Martincoski
2018-04-18  8:40 ` [Buildroot] [PATCH 0/4] support/download: make the git backend more robust Thomas Petazzoni
2018-04-18  8:52   ` Thomas Petazzoni
2018-04-18 13:28     ` Ricardo Martincoski
2018-04-18 14:43       ` Thomas Petazzoni
2018-04-18 21:35         ` Ricardo Martincoski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.