Use a path string instead of a string list to encode Node paths
I maintainer di solito rispondono entro 1 giorno
@r-c-n ci sta già lavorando.
Dal 18/3/2024.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Currently, all Nodes have a path field that encodes the path to that node from a root node (in practice, a checkout node) as a list of strings. I don't know the reason to pick a list to encode a path, but there are certain shortcomings that come with it, the most important of which is that it severely handicaps the way it can be used in queries. That is, we can't search for nodes with a certain string in their paths because we can't express that kind of condition (match an element inside a list) in our queries.
I propose we use a more universal approach to paths and use a common slash-separated path string instead?
Pros:
- They can be properly used as query conditions
- They can carry additional information that the lists can't provide: for instance, we can encode whether a node is a leaf node or an intermediate node by having the intermediate nodes end their path string with a trailing slash ('/'). This would give us additional expressiveness in the queries for free, we'd be able to quickly identify if a node contains children nodes or if it's a leaf node.
- No loss of expressiveness or features compared to the current implementation.
Cons:
- The character used as the separator can't appear in the name of a test suite, test case, etc.
This could be done with very few code changes, a simple set of helper functions can do the work of managing this field (appending parts to the path, setting a trailing slash when adding children nodes, unpacking path parts, etc).
- Lingua principale
- Python
- Stelle
- 120
- Fork
- 108
- Merge medio
- 1g 12h
- PR unite (30g)
- 21
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di kernelci/kernelci-core
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kernelci/kernelci-core#2591 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
kernelci/kernelci-core#3234 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue techdebt
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
kernelci/kernelci-core#3197 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
chromeos techdebt
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
kernelci/kernelci-core#3196 ·
I maintainer di solito rispondono entro 1 giorno
-
kubernetes runners missing logs and test naming wrongForse di nuovo libera @nuclearcat l’ha presa 68 giorni fa e non c’è nessuna pull request aperta. Aperta
kernelci/kernelci-core#3170 · 2 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di kernelci/kernelci-core
Issue simili
-
Harmony OPeNDAP SubSetter (HOSS) Geographic LARC_CLOUD PREFIRE_SAT2_AUX-SAT R01 production
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
nasa/harmony-autotester#245 ·
-
feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
L: github:actions L: php:composer
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
dependabot/dependabot-core#16493 ·
I maintainer di solito rispondono entro 1 giorno
-
2.3 EDA: `np.log` example adds +1 to every value, so it can't produce the `-inf` output shownAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
DataTalksClub/machine-learning-zoomcamp#730 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 4 giorni