commit:     b60c234d49ac880d249c5c457790f1233985ad3e
Author:     Siddhanth Rathod <xsiddhanthrathod <AT> gmail <DOT> com>
AuthorDate: Sat Sep 30 08:27:33 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 10:31:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b60c234d

git-r3.eclass: Inroducing EVCS_STORE_DIRS var

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 <xsiddhanthrathod <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33133
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/git-r3.eclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index 83c5ab590c39..a08845364296 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -120,6 +120,14 @@ fi
 # usage.
 : "${EGIT_LFS_CLONE_TYPE:=shallow}"
 
+# @ECLASS_VARIABLE: EVCS_STORE_DIRS
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Record of names of all the repositories directories being cloned in the 
git3_src.
+# This is useful in the case of ebuild that fetch multiple repos and
+# it would be used by eclean to clean them up.
+EVCS_STORE_DIRS=()
+
 # @ECLASS_VARIABLE: EGIT3_STORE_DIR
 # @USER_VARIABLE
 # @DEFAULT_UNSET
@@ -360,6 +368,8 @@ _git-r3_set_gitdir() {
 
        GIT_DIR=${EGIT3_STORE_DIR}/${repo_name}
 
+       EVCS_STORE_DIRS+=( "${GIT_DIR}" )
+
        if [[ ! -d ${EGIT3_STORE_DIR} && ! ${EVCS_OFFLINE} ]]; then
                (
                        addwrite /

Reply via email to