Stefan Sperling (), partecipante al progetto OpenBSD con dieci anni di esperienza, nonché uno dei principali sviluppatori di Apache Subversion, un nuovo sistema di controllo versione (got). Nella creazione del nuovo sistema, la priorità è data alla semplicità di utilizzo e alla facilità di accesso, non alla flessibilità. Attualmente Got è ancora in fase di sviluppo; è sviluppato esclusivamente su OpenBSD e il suo pubblico di riferimento sono gli sviluppatori di OpenBSD. Il codice è distribuito sotto licenza libera (equivalente a una licenza BSD semplificata e MIT).
Per memorizzare i dati versionati, Got utilizza repository git. Al momento sono supportate solo operazioni locali di gestione delle versioni. Inoltre, git può essere utilizzato per qualsiasi funzionalità non ancora realizzata in got: sarà sempre possibile lavorare con got e git all'interno dello stesso repository.
L'attuale del progetto è l'interazione con gli sviluppatori di OpenBSD che desiderano utilizzare regolarmente got per il proprio lavoro su OpenBSD e migliorare le operazioni di gestione delle versioni basate sul feedback ricevuto da loro.
Principi fondamentali del progetto:
- Seguire le regole di sicurezza e lo stile di codifica di OpenBSD;
- Un processo di sviluppo basato sulla revisione del codice tramite email;
- Utilizzo () e () in tutto il codice sorgente;
- Utilizzare la separazione dei privilegi durante l'analisi dei dati del repository attraverso la rete o da disco;
- Supporto della base di codice sotto licenza BSD.
Obiettivi a lungo termine:
- Mantenere la compatibilità con il formato disco del repository git (senza garantire compatibilità con gli strumenti);
- Fornire un insieme completo di strumenti di gestione delle versioni per OpenBSD:
- Interfaccia della linea di comando intuitiva per eseguire le operazioni di gestione delle versioni necessarie ()
- Browser interattivo del repository per analizzare la cronologia e rivedere le modifiche registrate ()
- Script CGI che realizza un'interfaccia web — browser del repository
- Strumenti di amministrazione dei repository con forte focus su backup e ripristino
- Server di repository per ospitare il repository centrale e sincronizzare le modifiche con una cascata di specchi pubblici e privati
- Requisiti per il flusso di lavoro degli sviluppatori OpenBSD:
- Supporto integrato robusto per un modello di repository centralizzato;
- Per gli sviluppatori che non hanno bisogno di branch, rimane la semplicità d'uso;
- Supporto per i branch locali per gli sviluppatori che ne hanno bisogno;
- Supporto per i branch di rilascio «-stable»;
- Altre funzionalità necessarie per costruire l'infrastruttura del progetto OpenBSD.
- Implementazione di connessioni di rete autenticati e crittografati:
- Accesso ai repository via SSH e in aggiunta TLS per clonare il repository e ottenere aggiornamenti;
- Accesso ai repository solo tramite SSH per apportare modifiche;
- L'accesso ai repository non è possibile tramite connessioni non crittografate.
Got già nel tree dei porti come ««. A sarà presentato un nuovo sistema di controllo della versione.
Fonte: opennet.ru
