AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
RFC: Exposing config hashes within a user facing tool
- Lingua principale
- C++
- Stelle
- 2.1k
- Fork
- 503
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
As part of our work in the config group, as well as the potential internal configuration files, I have been trying to think about the implications for users of having more ways to use configs and the implications of what happens when they are shared between different users. For instance:
- How would we validate that an external config is the same as an internal one.
- Would we want to be able to tell the difference between a "white space" change like line endings being switched
- What about other non-functional changes like a description change or other comments
It appears that having an ability to more easily compare the text hashes of a pair of configs would be useful at least in the internal library vs an external one, without archiving/exporting the internal config and then doing our own hash or diff.
For functional differencing, I see the minimum we should probably look to achieve is to document ways of using the existing cache IDs, but it would be nicer if we could provide the users with either a python script or perhaps more ideally a small executable (part of ociocheck ?), that could do some of this for them. (File path hashes are less useful when sharing config
I consider it more important to provide a tool if we agree that being able to determine functional equivalence is useful.
### Complications
- If you reorder colour spaces in a file does it match?
- What about other items that also have an implied meaning in the order like traditional displays and views?
I'm of the opinion that we should not embed the hash with the config as we would have to add complexity to ignore the text of the hash, etc.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia esaminando gli ID della cache esistenti e lo strumento ociocheck menzionato nell’issue. Prima di modificare il codice, determina se l’obiettivo è l’hashing del testo, l’equivalenza funzionale o entrambi, inclusi l’ordinamento e le modifiche non funzionali; «done» deve essere un workflow di confronto definito, esposto tramite lo strumento o lo script scelto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, python
- Ambito
- cli, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100