* [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local()
@ 2024-06-20 12:44 liezhi.yang
2024-06-20 12:44 ` [PATCH 1/2] " liezhi.yang
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: liezhi.yang @ 2024-06-20 12:44 UTC (permalink / raw)
To: bitbake-devel; +Cc: andre.draszik, kergoth
From: Robert Yang <liezhi.yang@windriver.com>
* Test info
bitbake-selftest works well
bitbake world works well with the shallow tarballs
// Robert
The following changes since commit 5d88faa0f35f0205c1475893d8589d1e6533dcc0:
bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError also in get_unihashes (2024-06-18 08:45:22 +0100)
are available in the Git repository at:
https://github.com/robertlinux/yocto rbt/shallow
https://github.com/robertlinux/yocto/tree/rbt/shallow
Robert Yang (2):
fetch2/git: Use git shallow fetch to implement clone_shallow_local()
bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local()
bitbake/lib/bb/fetch2/git.py | 71 ++++++++++++++++++++++-------------
bitbake/lib/bb/tests/fetch.py | 13 ++++---
2 files changed, 53 insertions(+), 31 deletions(-)
--
2.45.1
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 1/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() 2024-06-20 12:44 [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() liezhi.yang @ 2024-06-20 12:44 ` liezhi.yang 2024-06-20 12:44 ` [PATCH 2/2] bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() liezhi.yang ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: liezhi.yang @ 2024-06-20 12:44 UTC (permalink / raw) To: bitbake-devel; +Cc: andre.draszik, kergoth From: Robert Yang <liezhi.yang@windriver.com> This patch can make the following settings much more faster: BB_GIT_SHALLOW = "1" BB_GENERATE_MIRROR_TARBALLS = "1" * The previous implementation was: - Make a full clone for the repo from local ud.clonedir - Use git-make-shallow to remove unneeded revs It was very slow for recipes which have a lot of SRC_URIs, for example vulkan-samples and docker-compose, the docker-compose can't be done after 5 hours. $ bitbake vulkan-samples -cfetch Before: 12 minutes Now: 2 minutes $ bitbake docker-compose -cfetch Before: More than 300 minutes Now: 15 minutes * The patch uses git shallow fetch to fetch the repo from local ud.clonedir: - For BB_GIT_SHALLOW_DEPTH: git fetch --depth <depth> rev - For BB_GIT_SHALLOW_REVS: git fetch --shallow-exclude=<revs> rev Then the git repo will be shallow, and git-make-shallow is not needed any more. And git shallow fetch will download less commits than before since it doesn't need "rev^" to parse the dependencies, the previous code always need 'rev^'. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- bitbake/lib/bb/fetch2/git.py | 71 +++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index c7ff769fdf..d7583f0c3a 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py @@ -551,18 +551,31 @@ class Git(FetchMethod): runfetchcmd("touch %s.done" % ud.fullmirror, d) def clone_shallow_local(self, ud, dest, d): - """Clone the repo and make it shallow. + """ + Shallow fetch from ud.clonedir (${DL_DIR}/git2/<gitrepo> by default): + - For BB_GIT_SHALLOW_DEPTH: git fetch --depth <depth> rev + - For BB_GIT_SHALLOW_REVS: git fetch --shallow-exclude=<revs> rev + """ + + bb.utils.mkdirhier(dest) + init_cmd = "%s init -q" % ud.basecmd + if ud.bareclone: + init_cmd += " --bare" + runfetchcmd(init_cmd, d, workdir=dest) + runfetchcmd("%s remote add origin %s" % (ud.basecmd, ud.clonedir), d, workdir=dest) - The upstream url of the new clone isn't set at this time, as it'll be - set correctly when unpacked.""" - runfetchcmd("%s clone %s %s %s" % (ud.basecmd, ud.cloneflags, ud.clonedir, dest), d) + # Check the histories which should be excluded + shallow_exclude = '' + for revision in ud.shallow_revs: + shallow_exclude += " --shallow-exclude=%s" % revision - to_parse, shallow_branches = [], [] for name in ud.names: revision = ud.revisions[name] depth = ud.shallow_depths[name] - if depth: - to_parse.append('%s~%d^{}' % (revision, depth - 1)) + + # The --depth and --shallow-exclude can't be used together + if depth and shallow_exclude: + raise bb.fetch2.FetchError("BB_GIT_SHALLOW_REVS is set, but BB_GIT_SHALLOW_DEPTH is not 0.") # For nobranch, we need a ref, otherwise the commits will be # removed, and for non-nobranch, we truncate the branch to our @@ -575,36 +588,42 @@ class Git(FetchMethod): else: ref = "refs/remotes/origin/%s" % branch - shallow_branches.append(ref) - runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest) + fetch_cmd = "%s fetch origin %s" % (ud.basecmd, revision) + if depth: + fetch_cmd += " --depth %s" % depth - # Map srcrev+depths to revisions - parsed_depths = runfetchcmd("%s rev-parse %s" % (ud.basecmd, " ".join(to_parse)), d, workdir=dest) + if shallow_exclude: + fetch_cmd += shallow_exclude - # Resolve specified revisions - parsed_revs = runfetchcmd("%s rev-parse %s" % (ud.basecmd, " ".join('"%s^{}"' % r for r in ud.shallow_revs)), d, workdir=dest) - shallow_revisions = parsed_depths.splitlines() + parsed_revs.splitlines() + runfetchcmd(fetch_cmd, d, workdir=dest) + runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest) # Apply extra ref wildcards - all_refs = runfetchcmd('%s for-each-ref "--format=%%(refname)"' % ud.basecmd, - d, workdir=dest).splitlines() + all_refs_remote = runfetchcmd("%s ls-remote origin 'refs/*'" % ud.basecmd, \ + d, workdir=dest).splitlines() + all_refs = [] + for line in all_refs_remote: + all_refs.append(line.split()[-1]) + extra_refs = [] for r in ud.shallow_extra_refs: if not ud.bareclone: r = r.replace('refs/heads/', 'refs/remotes/origin/') if '*' in r: matches = filter(lambda a: fnmatch.fnmatchcase(a, r), all_refs) - shallow_branches.extend(matches) + extra_refs.extend(matches) else: - shallow_branches.append(r) - - # Make the repository shallow - shallow_cmd = [self.make_shallow_path, '-s'] - for b in shallow_branches: - shallow_cmd.append('-r') - shallow_cmd.append(b) - shallow_cmd.extend(shallow_revisions) - runfetchcmd(subprocess.list2cmdline(shallow_cmd), d, workdir=dest) + extra_refs.append(r) + + for ref in extra_refs: + ref_fetch = os.path.basename(ref) + runfetchcmd("%s fetch origin --depth 1 %s" % (ud.basecmd, ref_fetch), d, workdir=dest) + revision = runfetchcmd("%s rev-parse FETCH_HEAD" % ud.basecmd, d, workdir=dest) + runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest) + + # The url is local ud.clonedir, set it to upstream one + repourl = self._get_repo_url(ud) + runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=dest) def unpack(self, ud, destdir, d): """ unpack the downloaded src to destdir""" -- 2.45.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() 2024-06-20 12:44 [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() liezhi.yang 2024-06-20 12:44 ` [PATCH 1/2] " liezhi.yang @ 2024-06-20 12:44 ` liezhi.yang 2024-06-27 5:46 ` [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() Robert Yang 2024-07-01 22:13 ` Alexandre Belloni 3 siblings, 0 replies; 7+ messages in thread From: liezhi.yang @ 2024-06-20 12:44 UTC (permalink / raw) To: bitbake-devel; +Cc: andre.draszik, kergoth From: Robert Yang <liezhi.yang@windriver.com> Update the test cases since the implementation is changed: * test_shallow_multi_one_uri() The a_branch and v0.0 had the same revision, and it required fetch a_branch and remove histories of v0.0 which were conflicted, and bitbake reported: fatal: no commits selected for shallow requests Make a_branch and v0.0 have different revs to fix the problem. And now the 'rev^' is not needed, so update self.assertRevCount() as well. * test_shallow_multi_one_uri_depths() Update self.assertRevCount(), now git only fetches the required revs. * test_shallow_fetch_missing_revs() The command is: $ git fetch --shallow-exclude=v0.0 master But master and v0.0 uses the same revision, so there is no commit to fetch. * test_shallow_fetch_missing_revs_fails() Two unneeded committs are not fetched now: - rev^ - One not specified or required tag. So update self.assertRevCount() Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- bitbake/lib/bb/tests/fetch.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index 701129d138..2ef2063436 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -2034,9 +2034,9 @@ class GitShallowTest(FetcherTest): self.add_empty_file('b') self.git('checkout -b a_branch', cwd=self.srcdir) self.add_empty_file('c') + self.git('tag v0.0 HEAD', cwd=self.srcdir) self.add_empty_file('d') self.git('checkout master', cwd=self.srcdir) - self.git('tag v0.0 a_branch', cwd=self.srcdir) self.add_empty_file('e') self.git('merge --no-ff --no-edit a_branch', cwd=self.srcdir) self.add_empty_file('f') @@ -2052,7 +2052,7 @@ class GitShallowTest(FetcherTest): self.fetch_shallow(uri) - self.assertRevCount(5) + self.assertRevCount(4) self.assertRefs(['master', 'origin/master', 'origin/a_branch']) def test_shallow_multi_one_uri_depths(self): @@ -2199,7 +2199,7 @@ class GitShallowTest(FetcherTest): self.fetch_shallow() - self.assertRevCount(5) + self.assertRevCount(2) def test_shallow_invalid_revs(self): self.add_empty_file('a') @@ -2218,7 +2218,10 @@ class GitShallowTest(FetcherTest): self.git('tag v0.0 master', cwd=self.srcdir) self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0') self.d.setVar('BB_GIT_SHALLOW_REVS', 'v0.0') - self.fetch_shallow() + + with self.assertRaises(bb.fetch2.FetchError), self.assertLogs("BitBake.Fetcher", level="ERROR") as cm: + self.fetch_shallow() + self.assertIn("fatal: no commits selected for shallow requests", cm.output[0]) def test_shallow_fetch_missing_revs_fails(self): self.add_empty_file('a') @@ -2249,7 +2252,7 @@ class GitShallowTest(FetcherTest): revs = len(self.git('rev-list master').splitlines()) self.assertNotEqual(orig_revs, revs) self.assertRefs(['master', 'origin/master']) - self.assertRevCount(orig_revs - 1758) + self.assertRevCount(orig_revs - 1760) def test_that_unpack_throws_an_error_when_the_git_clone_nor_shallow_tarball_exist(self): self.add_empty_file('a') -- 2.45.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() 2024-06-20 12:44 [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() liezhi.yang 2024-06-20 12:44 ` [PATCH 1/2] " liezhi.yang 2024-06-20 12:44 ` [PATCH 2/2] bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() liezhi.yang @ 2024-06-27 5:46 ` Robert Yang 2024-07-01 22:13 ` Alexandre Belloni 3 siblings, 0 replies; 7+ messages in thread From: Robert Yang @ 2024-06-27 5:46 UTC (permalink / raw) To: bitbake-devel, kergoth, Richard Purdie; +Cc: andre.draszik Hi RP and Christopher, On 6/20/24 20:44, Robert Yang via lists.openembedded.org wrote: > From: Robert Yang <liezhi.yang@windriver.com> > > * Test info > bitbake-selftest works well > bitbake world works well with the shallow tarballs Do you have any comments on the patches, please? // Robert > > // Robert > > The following changes since commit 5d88faa0f35f0205c1475893d8589d1e6533dcc0: > > bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError also in get_unihashes (2024-06-18 08:45:22 +0100) > > are available in the Git repository at: > > https://github.com/robertlinux/yocto rbt/shallow > https://github.com/robertlinux/yocto/tree/rbt/shallow > > Robert Yang (2): > fetch2/git: Use git shallow fetch to implement clone_shallow_local() > bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() > > bitbake/lib/bb/fetch2/git.py | 71 ++++++++++++++++++++++------------- > bitbake/lib/bb/tests/fetch.py | 13 ++++--- > 2 files changed, 53 insertions(+), 31 deletions(-) > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#16368): https://lists.openembedded.org/g/bitbake-devel/message/16368 > Mute This Topic: https://lists.openembedded.org/mt/106779045/7304958 > Group Owner: bitbake-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [liezhi.yang@eng.windriver.com] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() 2024-06-20 12:44 [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() liezhi.yang ` (2 preceding siblings ...) 2024-06-27 5:46 ` [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() Robert Yang @ 2024-07-01 22:13 ` Alexandre Belloni 2024-07-02 7:31 ` Robert Yang 3 siblings, 1 reply; 7+ messages in thread From: Alexandre Belloni @ 2024-07-01 22:13 UTC (permalink / raw) To: liezhi.yang; +Cc: bitbake-devel, andre.draszik, kergoth Hello, This fails on our ubuntu 20.04 workers: https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6923/steps/11/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3542/steps/11/logs/stdio On 20/06/2024 05:44:39-0700, Robert Yang via lists.openembedded.org wrote: > From: Robert Yang <liezhi.yang@windriver.com> > > * Test info > bitbake-selftest works well > bitbake world works well with the shallow tarballs > > // Robert > > The following changes since commit 5d88faa0f35f0205c1475893d8589d1e6533dcc0: > > bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError also in get_unihashes (2024-06-18 08:45:22 +0100) > > are available in the Git repository at: > > https://github.com/robertlinux/yocto rbt/shallow > https://github.com/robertlinux/yocto/tree/rbt/shallow > > Robert Yang (2): > fetch2/git: Use git shallow fetch to implement clone_shallow_local() > bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() > > bitbake/lib/bb/fetch2/git.py | 71 ++++++++++++++++++++++------------- > bitbake/lib/bb/tests/fetch.py | 13 ++++--- > 2 files changed, 53 insertions(+), 31 deletions(-) > > -- > 2.45.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#16368): https://lists.openembedded.org/g/bitbake-devel/message/16368 > Mute This Topic: https://lists.openembedded.org/mt/106779045/3617179 > Group Owner: bitbake-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() 2024-07-01 22:13 ` Alexandre Belloni @ 2024-07-02 7:31 ` Robert Yang 2024-07-07 7:11 ` Robert Yang 0 siblings, 1 reply; 7+ messages in thread From: Robert Yang @ 2024-07-02 7:31 UTC (permalink / raw) To: alexandre.belloni; +Cc: bitbake-devel, andre.draszik, kergoth On 7/2/24 06:13, Alexandre Belloni via lists.openembedded.org wrote: > Hello, > > This fails on our ubuntu 20.04 workers: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6923/steps/11/logs/stdio > https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3542/steps/11/logs/stdio Sorry, it might because the git version on ubuntu 20.04 is old, let me check how to fix it. // Robert > > On 20/06/2024 05:44:39-0700, Robert Yang via lists.openembedded.org wrote: >> From: Robert Yang <liezhi.yang@windriver.com> >> >> * Test info >> bitbake-selftest works well >> bitbake world works well with the shallow tarballs >> >> // Robert >> >> The following changes since commit 5d88faa0f35f0205c1475893d8589d1e6533dcc0: >> >> bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError also in get_unihashes (2024-06-18 08:45:22 +0100) >> >> are available in the Git repository at: >> >> https://github.com/robertlinux/yocto rbt/shallow >> https://github.com/robertlinux/yocto/tree/rbt/shallow >> >> Robert Yang (2): >> fetch2/git: Use git shallow fetch to implement clone_shallow_local() >> bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() >> >> bitbake/lib/bb/fetch2/git.py | 71 ++++++++++++++++++++++------------- >> bitbake/lib/bb/tests/fetch.py | 13 ++++--- >> 2 files changed, 53 insertions(+), 31 deletions(-) >> >> -- >> 2.45.1 >> > >> >> >> > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#16383): https://lists.openembedded.org/g/bitbake-devel/message/16383 > Mute This Topic: https://lists.openembedded.org/mt/106779045/3616940 > Group Owner: bitbake-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [liezhi.yang@windriver.com] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() 2024-07-02 7:31 ` Robert Yang @ 2024-07-07 7:11 ` Robert Yang 0 siblings, 0 replies; 7+ messages in thread From: Robert Yang @ 2024-07-07 7:11 UTC (permalink / raw) To: alexandre.belloni; +Cc: bitbake-devel, andre.draszik, kergoth On 7/2/24 15:31, Robert Yang wrote: > > > On 7/2/24 06:13, Alexandre Belloni via lists.openembedded.org wrote: >> Hello, >> >> This fails on our ubuntu 20.04 workers: >> >> https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6923/steps/11/logs/stdio >> https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3542/steps/11/logs/stdio > > Sorry, it might because the git version on ubuntu 20.04 is old, let me check how > to fix it. I had a ppa on my ubuntu host 20.04 which installed a higher version git, that made me didn't meet the error. I've tried pure ubuntu 20.04 from docker hub, and then reproduced the error, the fix is: + # Advertise the revision for lower version git such as 2.25.1: + # error: Server does not allow request for unadvertised object. + # The ud.clonedir is a local temporary dir, will be removed when + # fetch is done, so we can do anything on it. + adv_cmd = 'git branch -f advertise-%s %s' % (revision, revision) + runfetchcmd(adv_cmd, d, workdir=ud.clonedir) I will send a V2 for it. // Robert > > // Robert > >> >> On 20/06/2024 05:44:39-0700, Robert Yang via lists.openembedded.org wrote: >>> From: Robert Yang <liezhi.yang@windriver.com> >>> >>> * Test info >>> bitbake-selftest works well >>> bitbake world works well with the shallow tarballs >>> >>> // Robert >>> >>> The following changes since commit 5d88faa0f35f0205c1475893d8589d1e6533dcc0: >>> >>> bitbake: siggen: catch FileNotFoundError everywhere and ConnectionError >>> also in get_unihashes (2024-06-18 08:45:22 +0100) >>> >>> are available in the Git repository at: >>> >>> https://github.com/robertlinux/yocto rbt/shallow >>> https://github.com/robertlinux/yocto/tree/rbt/shallow >>> >>> Robert Yang (2): >>> fetch2/git: Use git shallow fetch to implement clone_shallow_local() >>> bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() >>> >>> bitbake/lib/bb/fetch2/git.py | 71 ++++++++++++++++++++++------------- >>> bitbake/lib/bb/tests/fetch.py | 13 ++++--- >>> 2 files changed, 53 insertions(+), 31 deletions(-) >>> >>> -- >>> 2.45.1 >>> >> >>> >>> >>> >> >> >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#16383): >> https://lists.openembedded.org/g/bitbake-devel/message/16383 >> Mute This Topic: https://lists.openembedded.org/mt/106779045/3616940 >> Group Owner: bitbake-devel+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub >> [liezhi.yang@windriver.com] >> -=-=-=-=-=-=-=-=-=-=-=- >> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-07-07 7:12 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-06-20 12:44 [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() liezhi.yang 2024-06-20 12:44 ` [PATCH 1/2] " liezhi.yang 2024-06-20 12:44 ` [PATCH 2/2] bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local() liezhi.yang 2024-06-27 5:46 ` [bitbake-devel] [PATCH 0/2] fetch2/git: Use git shallow fetch to implement clone_shallow_local() Robert Yang 2024-07-01 22:13 ` Alexandre Belloni 2024-07-02 7:31 ` Robert Yang 2024-07-07 7:11 ` Robert Yang
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.