<feed xmlns='http://www.w3.org/2005/Atom'>
<title>algaos/algaos-ebuild-tree/eclass/git-r3.eclass, branch next</title>
<subtitle>[no description]</subtitle>
<id>https://git.algaos.com/algaos/algaos-ebuild-tree/atom?h=next</id>
<link rel='self' href='https://git.algaos.com/algaos/algaos-ebuild-tree/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/'/>
<updated>2026-08-23T23:21:27Z</updated>
<entry>
<title>git-r3.eclass: make addwrite effective</title>
<updated>2026-08-23T23:21:27Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2026-08-23T23:19:31Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=499ebb2ce365d9358c1d1e51f79288d9a2e877dc'/>
<id>urn:sha1:499ebb2ce365d9358c1d1e51f79288d9a2e877dc</id>
<content type='text'>
We moved where we set the default value for EGIT3_STORE_DIR, so at the
point `addwrite` is called, it isn't effective. Move it too.

Closes: https://bugs.gentoo.org/981310
Fixes: eae4d76cd2c21c670cb45fca680b1422e7292c13
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: Respect overrides and fallbacks in ls-remote call</title>
<updated>2026-08-23T18:38:06Z</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2026-08-22T08:18:41Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=eae4d76cd2c21c670cb45fca680b1422e7292c13'/>
<id>urn:sha1:eae4d76cd2c21c670cb45fca680b1422e7292c13</id>
<content type='text'>
Refactor the eclass logic to defer the 'git ls-remote' call used to
determine the object format until overrides are in place.  Move it into
repository fetching loop so that mirrors and fallback URIs are respected
as well.  While at it, fix duplicate directory entries in
EVCS_STORE_DIRS, and avoid creating an empty directory if 'git
ls-remote' fails.

For historical reasons, git-r3_set_gitdir function was responsible both
for setting the value of GIT_DIR and creating it if necessary.
To ensure that GIT_DIR was stable, the canonical URI was always used.
No network traffic was involved at this stage.

While adding sha256 support in 0477949bcf64596be3e508b9664fedfc8158a364,
an additional 'git ls-remote' call was added to determine the remote
object format before creating GIT_DIR.  We've missed that this call
would be performed early on, with no respect for repository URI
overrides, mirrors and fallback URIs.  Most of the time this wasn't
a problem, at least as long as the canonical URI was reachable and had
the same object format.

It seems that the cleanest solution to this is to split setting GIT_DIR
from creating it.  The former still needs to be done early, using
the canonical URI.  The latter is best done in the fetching loop where
we are already iterating over the final list of URIs.  This also permits
us to easily support fallback when the initial URI fails, much like we
do in the 'git fetch' invocation.

Closes: https://bugs.gentoo.org/979189
Signed-off-by: Michał Górny &lt;mgorny@gentoo.org&gt;
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1708
Merges: https://codeberg.org/gentoo/gentoo/pulls/1708
</content>
</entry>
<entry>
<title>git-r3.eclass: Add support for sha256 objects</title>
<updated>2026-05-14T11:28:29Z</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2026-04-26T16:35:29Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=0477949bcf64596be3e508b9664fedfc8158a364'/>
<id>urn:sha1:0477949bcf64596be3e508b9664fedfc8158a364</id>
<content type='text'>
Add support for remote repositories using sha256 objects.  When fetching
a new repository, use ls-remote to check if the remote hashes look like
sha1 or sha256, and init the bare repository accordingly.  Similarly,
look at the checked out commit id to init the checkout repo.

This doesn't handle upstream migrating from sha1 to sha256 in place
gracefully.  Instead, whenever 'git fetch' fails, the eclass hints that
the local clone may need to be removed.

Note that sha256 support is experimental upstream and does not come with
any backwards compatibility support.  Upstream indicates that adding
said support may break compatibility with prior sha256 deployments.

Closes: https://bugs.gentoo.org/973239
Signed-off-by: Michał Górny &lt;mgorny@gentoo.org&gt;
Part-of: https://codeberg.org/gentoo/gentoo/pulls/751
Merges: https://codeberg.org/gentoo/gentoo/pulls/751
</content>
</entry>
<entry>
<title>git-r3.eclass: Drop support for *_LIVE_* variables in EAPI 9</title>
<updated>2026-03-13T16:06:45Z</updated>
<author>
<name>Ulrich Müller</name>
<email>ulm@gentoo.org</email>
</author>
<published>2026-03-13T13:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=b68c9cc51b507e388dcda352911f61bccde6c535'/>
<id>urn:sha1:b68c9cc51b507e388dcda352911f61bccde6c535</id>
<content type='text'>
Acked-by: Michał Górny &lt;mgorny@gentoo.org&gt;
Signed-off-by: Ulrich Müller &lt;ulm@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: Support EAPI 9</title>
<updated>2026-03-13T16:06:44Z</updated>
<author>
<name>Ulrich Müller</name>
<email>ulm@gentoo.org</email>
</author>
<published>2025-12-17T15:29:38Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=b84eda9cbb44631adff38ad16ae268befffad642'/>
<id>urn:sha1:b84eda9cbb44631adff38ad16ae268befffad642</id>
<content type='text'>
Acked-by: Michał Górny &lt;mgorny@gentoo.org&gt;
Signed-off-by: Ulrich Müller &lt;ulm@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: Drop support for EAPI 6</title>
<updated>2024-07-11T20:54:11Z</updated>
<author>
<name>Ulrich Müller</name>
<email>ulm@gentoo.org</email>
</author>
<published>2024-07-08T17:44:49Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=e27f68c1a16993efd00c81145d33d792a0f870d9'/>
<id>urn:sha1:e27f68c1a16993efd00c81145d33d792a0f870d9</id>
<content type='text'>
Signed-off-by: Ulrich Müller &lt;ulm@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: Add the ability to checkout ignored submodules.</title>
<updated>2024-04-01T09:36:28Z</updated>
<author>
<name>Sebastian Parborg</name>
<email>darkdefende@gmail.com</email>
</author>
<published>2024-03-25T15:15:17Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=838b52b4a3e44aaa2b86db7c68803d0018cfba98'/>
<id>urn:sha1:838b52b4a3e44aaa2b86db7c68803d0018cfba98</id>
<content type='text'>
If the submodules is specified in EGIT_SUBMODULES then it will ignore
the "none" check.

Signed-off-by: Sebastian Parborg &lt;darkdefende@gmail.com&gt;
Closes: https://github.com/gentoo/gentoo/pull/35911
Signed-off-by: Michał Górny &lt;mgorny@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: Fix fetching git lfs files at certain refs. Only prune when needed.</title>
<updated>2024-04-01T09:36:28Z</updated>
<author>
<name>Sebastian Parborg</name>
<email>darkdefende@gmail.com</email>
</author>
<published>2024-03-25T15:08:41Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=e686f42afb87ef04362e6c24968d5050e6bb5c91'/>
<id>urn:sha1:e686f42afb87ef04362e6c24968d5050e6bb5c91</id>
<content type='text'>
If a lfs files was changed between the checked out ref and the git head
commit, it would fail to fetch them. Now correctly specify the ref for
the lfs fetch as well to ensure that we can fetch the correct lfs files.

Only prune when we have existing lfs files. For bigger repos with
submodules, it will be quite slow to try to prune. So if there are no
files to prune, don't attempt it. This also speeds up checkout when
only a few of the checked out git repos are lfs repos.

Signed-off-by: Sebastian Parborg &lt;darkdefende@gmail.com&gt;
Signed-off-by: Michał Górny &lt;mgorny@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: fetch remote_ref in the mirror clone type</title>
<updated>2023-12-20T13:41:02Z</updated>
<author>
<name>Alfred Wingate</name>
<email>parona@protonmail.com</email>
</author>
<published>2023-11-22T11:40:52Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=142a99106adf15e03c3fc45a490730bdb7b56980'/>
<id>urn:sha1:142a99106adf15e03c3fc45a490730bdb7b56980</id>
<content type='text'>
* Handles scenarios where commits in submodules are orphaned.

Closes: https://bugs.gentoo.org/917746
Bug: https://bugs.gentoo.org/503332
Signed-off-by: Alfred Wingate &lt;parona@protonmail.com&gt;
Closes: https://github.com/gentoo/gentoo/pull/33935
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>git-r3.eclass: Inroducing EVCS_STORE_DIRS var</title>
<updated>2023-11-10T10:31:25Z</updated>
<author>
<name>Siddhanth Rathod</name>
<email>xsiddhanthrathod@gmail.com</email>
</author>
<published>2023-09-30T08:27:33Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=b60c234d49ac880d249c5c457790f1233985ad3e'/>
<id>urn:sha1:b60c234d49ac880d249c5c457790f1233985ad3e</id>
<content type='text'>
ebuilds which calls git-r3_fetch multiple times for diffrent repos.
While EGIT_DIR stores a single repo path,
mapping all repos to such packages is currently unfeasible.
Introducing EVCS_STORE_DIRS to address this limitation.

See-Also: https://github.com/gentoo/gentoolkit/pull/33
Signed-off-by: Siddhanth Rathod &lt;xsiddhanthrathod@gmail.com&gt;
Closes: https://github.com/gentoo/gentoo/pull/33133
Signed-off-by: Michał Górny &lt;mgorny@gentoo.org&gt;
</content>
</entry>
</feed>
