Stefan Sperling (), partecipante del progetto OpenBSD con dieci anni di esperienza e uno dei principali sviluppatori di Apache Subversion, un nuovo sistema di controllo delle versioni (got). Nella creazione di questo nuovo sistema, la priorità è data alla semplicità di design e all'usabilità, piuttosto che alla flessibilità. Attualmente, Got è ancora in fase di sviluppo; viene sviluppato esclusivamente su OpenBSD, con un pubblico target di sviluppatori OpenBSD. Il codice è distribuito sotto licenza libera (equivalente a una licenza BSD e MIT semplificata).
Per memorizzare dati versionati, Got utilizza repository git. Al momento, sono supportate solo operazioni locali di gestione delle versioni. Tuttavia, git può essere utilizzato per qualsiasi funzionalità che non è ancora implementata in got: sarà sempre possibile lavorare con got e git all'interno dello stesso repository.
L'attuale del progetto è di interagire con gli sviluppatori di OpenBSD, che desiderano utilizzare regolarmente got per il loro lavoro su OpenBSD, e migliorare le operazioni di gestione delle versioni sulla base del feedback che riceviamo da loro.
I principi fondamentali del progetto:
- Seguire le normative di sicurezza e lo stile di codifica di OpenBSD;
- Un processo di sviluppo basato sulla revisione del codice tramite email;
- L'utilizzo di () e () in tutto il codice sorgente;
- Utilizzo della separazione dei privilegi durante il parsing dei dati dal repository via rete o disco;
- Supporto al codice sorgente sotto licenza BSD.
Obiettivi a lungo termine:
- Mantenere la compatibilità con il formato disco del repository git (senza garantire la compatibilità con gli strumenti);
- Fornire un set completo di strumenti di gestione versioni per OpenBSD:
- Un'interfaccia della riga di comando intuitiva per eseguire le operazioni necessarie di gestione versioni ()
- Un browser interattivo del repository per analizzare la storia e rivedere le modifiche registrate ()
- Uno script CGI che implementa un'interfaccia web — browser del repository
- Strumenti di amministrazione dei repository con un forte focus sul backup e sul ripristino
- Un server repository per l'hosting del repository centrale e la sincronizzazione delle modifiche con una cascata di mirror 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 necessitano di rami (branch), si mantiene la semplicità d'uso;
- Supporto per rami locali per gli sviluppatori che ne hanno bisogno;
- Supporto per i rami di rilascio «-stable»;
- Altre funzionalità necessarie per costruire l'infrastruttura del progetto OpenBSD.
- Implementazione di connessioni di rete autentificate e crittografate:
- Accesso ai repository tramite SSH e inoltre TLS per la clonazione del repository e per ricevere 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 versioni.
Fonte: opennet.ru
