Rilascio del sistema di versionamento compatibile con git Got 0.80

Gli sviluppatori del progetto OpenBSD hanno pubblicato la versione del sistema di gestione delle versioni Got 0.80 (Game of Trees), il cui sviluppo si concentra principalmente sulla semplicità dell'architettura e dell'utilizzo. Per memorizzare i dati versionati, Got utilizza uno storage compatibile con il formato dei repository Git, permettendo di lavorare con il repository utilizzando gli strumenti di Got e Git. Ad esempio, tramite Git è possibile eseguire operazioni non implementate in Got. Il codice è rilasciato sotto la licenza libera ISC.

Il progetto ha come obiettivo principale il supporto allo sviluppo di OpenBSD tenendo conto delle peculiarità del progetto. Tra l'altro, in Got vengono applicate le regole di sicurezza adottate in OpenBSD (ad esempio, separazione dei privilegi e utilizzo delle chiamate pledge e unveil) e uno stile di scrittura del codice. Gli strumenti sono progettati per un processo di sviluppo con un repository centralizzato e rami locali per gli sviluppatori, accesso esterno via SSH e revisione delle modifiche tramite email.

Per la gestione delle versioni è fornita l'utilità got con un insieme di comandi familiari. Per semplificare il lavoro, l'utilità supporta solo il numero minimo necessario di comandi e opzioni, sufficiente per eseguire le operazioni principali senza complicazioni superflue. Per operazioni avanzate si consiglia di utilizzare il normale git. Le operazioni di gestione del repository sono state trasferite in un'utilità separata gotadmin, che esegue compiti come l'inizializzazione del repository, la compressione degli indici e la pulizia dei dati. Per la navigazione nei dati del repository è fornito un'interfaccia web gotwebd e l'utilità tog per la visualizzazione interattiva dei contenuti del repository dalla riga di comando.

Tra le modifiche aggiunte:

  • Nel processo server gotd, che fornisce accesso di rete al repository, è stata implementata la possibilità di aggiungere regole per l'autorizzazione delle operazioni di scrittura e lettura legate a singoli repository.
  • Sono stati aggiunti a gotd i nuovi processi "listen" e "session" per monitorare le richieste al socket unix e gestire le sessioni. Le operazioni di autenticazione sono state spostate in un processo figlio separato.
  • L'isolamento del processo in background gotd è passato da chroot all'uso della chiamata di sistema unveil. Rimosso il limite che permetteva di connettersi a gotd solo agli utenti del gruppo gotsh.
  • In gotd è stata implementata una limitazione sul numero di connessioni in base a uid.
  • In gotd.conf sono state aggiunte impostazioni per gestire le connessioni, e il parametro unix_socket è stato sostituito da 'listen on'.
  • L'accesso alle informazioni visualizzate all'avvio di 'gotctl info' è ora fornito solo all'utente root.
  • È stata interrotta lo sviluppo di un'interfaccia CGI per got — gotweb, a cui si consiglia di sostituire con l'implementazione FastCGI di gotwebd, le cui funzionalità sono state notevolmente ampliate. Ad esempio, in gotwebd è stato aggiunto un motore di templating per semplificare la modifica dell'aspetto delle pagine, è stata aggiunta un feed RSS per il monitoraggio dei tag e migliorata la visualizzazione dei blob e delle liste di commit.
  • Nei comandi got log, got diff e tog diff è stata implementata la supporto per l'output nel formato diffstat.
  • Il consumo di memoria è stato ridotto limitando il numero di tag memorizzati nella cache degli oggetti.
  • In got patch è stata implementata la rimozione di file binari.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster