AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

RFC: Exposing config hashes within a user facing tool

Aperta
#1,666 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Needs Discussion
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.