<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/fetch2/git.py, branch 5.2_M3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=5.2_M3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=5.2_M3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2025-03-06T11:16:46+00:00</updated>
<entry>
<title>bitbake: fetch2/git: Add support for fast initial shallow fetch</title>
<updated>2025-03-06T11:16:46+00:00</updated>
<author>
<name>Stefan Koch</name>
<email>stefan-koch@siemens.com</email>
</author>
<published>2025-03-03T13:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=65ae50cd16a3989699bea845566d38476f2ae9a7'/>
<id>urn:sha1:65ae50cd16a3989699bea845566d38476f2ae9a7</id>
<content type='text'>
When `ud.shallow == 1`:
- Prefer an initial shallow clone over an initial full bare clone,
  while still utilizing any already existing full bare clones.
- If the Git error "Server does not allow request for unadvertised object"
  occurs, the initial full bare clone is fetched automatically.
  This may happen if the Git server does not allow the request
  or if the Git client has issues with this functionality,
  especially with the Git client from Ubuntu 20.04.

This improves:
- Resolve timeout issues during initial clones on slow internet connections
  by reducing the amount of data transferred.
- Eliminate the need to use an HTTPS tarball `SRC_URI`
  to reduce data transfer.
- Allow SSH-based authentication (e.g. cert and agent-based) when
  using non-public repos, so additional HTTPS tokens may not be required.

(Bitbake rev: 457288b2fda86fd00cdcaefac616129b0029e1f9)

Signed-off-by: Stefan Koch &lt;stefan-koch@siemens.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: lib: Remove double imports</title>
<updated>2025-02-27T15:12:55+00:00</updated>
<author>
<name>Michael Estner</name>
<email>michaelestner@web.de</email>
</author>
<published>2025-02-25T18:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e1836b205a2716e85f36346762805e2e505a5eb6'/>
<id>urn:sha1:e1836b205a2716e85f36346762805e2e505a5eb6</id>
<content type='text'>
* Remove double imports mentioned by pylint

(Bitbake rev: 741db6719efca5aa9ef2c15e60cdd624e4aa1a8d)

Signed-off-by: Michael Estner &lt;michaelestner@web.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: git: Clean broken symlink</title>
<updated>2024-10-28T14:08:33+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2024-10-26T09:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0a45ba64adbc279928a4347c5073eb78da1bf00a'/>
<id>urn:sha1:0a45ba64adbc279928a4347c5073eb78da1bf00a</id>
<content type='text'>
The file may be a symlink when mirror from local disk, and the symlink will be
broken when the linked file is removed, use os.path.islink() to check and
remove the broken symlink.

(Bitbake rev: d0deb5fe6e7a84b07b49ef685b209729d2fdc780)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: git: Clean shallow mirror tarball</title>
<updated>2024-10-28T14:08:33+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2024-10-26T09:39:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dd9d183621d583331cd17c7ea4c6dd7cc350e8aa'/>
<id>urn:sha1:dd9d183621d583331cd17c7ea4c6dd7cc350e8aa</id>
<content type='text'>
Fixed:
BB_GIT_SHALLOW = "1"
BB_GENERATE_SHALLOW_TARBALLS = "1"
$ bitbake utfcpp -cfetch &amp;&amp; bitbake utfcpp -ccleanall

The downloads/gitsmshallow_github.com.nemtrif.*.tar.gz won't be cleaned without
this fix.

(Bitbake rev: bab7a8970a0237a9d24217685a595e76a1336c07)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/git: Use quote from shlex, not pipes</title>
<updated>2024-10-01T11:42:24+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-09-30T13:11:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=312488228ad408fb0f29b2aa272e72cf87de8e93'/>
<id>urn:sha1:312488228ad408fb0f29b2aa272e72cf87de8e93</id>
<content type='text'>
The pipes module is removed in python 3.13. It was already using the
quote function from shlex so use that directly instead.

The module already imports shlex too so it is an easy substitution.

(Bitbake rev: 9ef4f2a30127455562e38e869793a723eed6c07c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/git: Enforce default remote name to "origin"</title>
<updated>2024-07-13T22:30:07+00:00</updated>
<author>
<name>Yuri D'Elia</name>
<email>wavexx@thregr.org</email>
</author>
<published>2024-07-09T19:39:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b698371255799f94861af57c710450e4879af208'/>
<id>urn:sha1:b698371255799f94861af57c710450e4879af208</id>
<content type='text'>
Enforce the default remote name to "origin", as assumed in numerous
places.

This prevents build failures in case the system/user configuration sets
this to a different value.

(Bitbake rev: 1d7360031164f04887c792fb0b2dd86c6ccfcc23)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/git: Use git shallow fetch to implement clone_shallow_local()</title>
<updated>2024-07-13T22:30:07+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2024-07-07T07:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e2527cf58f4f390712641a99b276b9e0aeae01c6'/>
<id>urn:sha1:e2527cf58f4f390712641a99b276b9e0aeae01c6</id>
<content type='text'>
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 &lt;depth&gt; rev
  - For BB_GIT_SHALLOW_REVS: git fetch --shallow-exclude=&lt;revs&gt; 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^'.

(Bitbake rev: a5a569c075224fe41707cfa9123c442d1fda2fbf)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch2/git: Install Git LFS in local repository config</title>
<updated>2024-03-22T16:26:46+00:00</updated>
<author>
<name>Derek Erdmann</name>
<email>derek.erdmann@sonos.com</email>
</author>
<published>2024-03-15T18:55:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=825055e83ea6ec0a9328ea4d53de6516dfb9a795'/>
<id>urn:sha1:825055e83ea6ec0a9328ea4d53de6516dfb9a795</id>
<content type='text'>
Git uses a lock file to prevent concurrent modifications to the global
config, so if unpack tasks for different recipes try to run "git lfs
install" simultaneously the operation can fail:

    error: could not lock config file /home/build/.gitconfig: File exists exit status 255
    Run `git lfs install --force` to reset Git configuration.

Adding "--local" sets the smudge and clean filters in the local
repository's config instead of modifying the user's global config.

(Bitbake rev: 328ca4de8422be514fa0d0c9e3cfd36bb9d3e9a7)

Signed-off-by: Derek Erdmann &lt;derek.erdmann@sonos.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake: fetch2/git: Escape parentheses in git src name</title>
<updated>2024-03-22T16:26:45+00:00</updated>
<author>
<name>Philippe Rivest</name>
<email>technophil98@gmail.com</email>
</author>
<published>2024-03-10T03:33:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2eeef2800b309e68f54855e4425d151e663a3f59'/>
<id>urn:sha1:2eeef2800b309e68f54855e4425d151e663a3f59</id>
<content type='text'>
FIXES [YOCTO #15404]

When using git fetcher on a repo with parentheses in its URL, the
invocation of the git clone command will fail. The clone directory
is not quoted thus the shell will return an error and won't execute
the command.

(Bitbake rev: b5624ee5643d881afa004571a096a189ab5389b5)

Cc: Philippe Rivest &lt;privest@genetec.com&gt;

(Bitbake rev: 12f9738577934ad7c99f0770f1392a9d6050e7d6)

Signed-off-by: Philippe Rivest &lt;technophil98@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: fetch/git: Avoid clean upon failure</title>
<updated>2024-03-03T16:26:17+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-02-28T11:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2689d8cf22d3809923aad5bd87e5e3e1821ffc82'/>
<id>urn:sha1:2689d8cf22d3809923aad5bd87e5e3e1821ffc82</id>
<content type='text'>
Currently when git fetches fail, it destroys all the existing local clone data.
For large repositories this can introduce long build delays when for example,
you just typo'd the git revision hash.

The git fetcher should be able to recover most directories so when the fetch is
for a git repo, avoid removing things unless clean is explicitly called
(e.g. a -c cleanall task).

(Bitbake rev: 1b3cd039fe19b24bd4be9a0202a98cdcbb0e9443)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
