È stata pubblicata la versione 12.0 della piattaforma di sviluppo collaborativo Forgejo. Permette di implementare un sistema per il lavoro collaborativo con repository Git sui propri server, simile nelle sue funzionalità a GitHub, Bitbucket e Gitlab. Forgejo è un fork del progetto Gitea, a sua volta derivato dalla piattaforma Gogs. Forgejo è stato separato nel 2022 dopo i tentativi di commercializzare Gitea e il trasferimento del controllo a una società commerciale. Il progetto Forgejo aderisce ai principi di gestione indipendente e controllo della comunità. Codeberg.org, che ospitava Git, è passato a Forgejo. Il codice del progetto è scritto in Go ed è distribuito con licenza GPLv3.
Le caratteristiche principali della piattaforma sono il basso consumo di risorse (può essere utilizzata sulla scheda Raspberry Pi o in soluzioni a basso costo VPS) e un semplice processo di installazione. Sono fornite funzionalità standard di gestione dei progetti, come gestione delle attività, tracciamento dei problemi, richieste pull, wiki, strumenti per il coordinamento dei team di sviluppo, preparazione delle release, posizionamento automatico dei pacchetti nei repository, gestione dei diritti di accesso, integrazione con piattaforme di integrazione continua, ricerca del codice, autenticazione tramite LDAP e OAuth, accesso al repository tramite protocolli SSH e HTTP/HTTPS, webhook per l'integrazione con Slack, Discord e altri servizi, supporto per Git hook e Git LFS, strumenti per la migrazione e il mirroring dei repository. Una caratteristica speciale è la possibilità di utilizzare il protocollo ActivityPub per unire singoli progetti in una rete federata. server sviluppatori.
Principali modifiche:
- La pagina del profilo utente è stata riprogettata. Sono state aggiunte nuove azioni al menu del profilo.

- Interfaccia migliorata per la revisione delle pull request a livello di commit (invece di un changelog completo che copre tutti i commit, in questa modalità i singoli commit vengono revisionati in sequenza). Sono stati aggiunti i pulsanti Avanti e Indietro per navigare tra i commit durante la revisione. È stato consentito l'uso del pulsante Termina revisione per i singoli commit. Il testo di spiegazione del commit è stato lasciato visibile nelle pagine di revisione.

- Aggiunta un'opzione per inviare notifiche e-mail in caso di errori durante l'esecuzione di lavori pianificati (azioni Forgejo).
- Ottimizzato il processo di verifica dei conflitti con le pull request aperte durante il push di nuovi commit sul branch di destinazione. In precedenza, tale controllo comportava un carico di I/O proporzionale al numero di pull request aperte, a causa dell'operazione applicata all'albero di lavoro. Il passaggio al comando "git merge-tree --write-tree" ha consentito l'unione senza accedere all'albero di lavoro, riducendo significativamente il carico nelle distribuzioni di grandi dimensioni.
- Aggiunta la possibilità di utilizzare SSH per le attività precedentemente legate a OpenPGP. Per firmare i commit dopo aver modificato file o accettato modifiche, ora è possibile utilizzare una chiave SSH anziché una chiave GPG (la firma viene generata nel TPM tramite ssh-agent).
- Per impostazione predefinita, viene aggiunto un file robots.txt per informare i bot sulle sezioni che non devono essere indicizzate.
- Aggiunta una funzionalità per mantenere la fork sincronizzata con il progetto principale.

- Aggiunto supporto per l'anteprima di modelli 3D in formato glTF.

- L'editor dei commenti ora consente di indentare il testo utilizzando il tasto Tab.
- Basandosi su Alpine 3.22, è stata creata un'immagine contenitore pronta all'uso per l'esecuzione di Forgejo 12, utilizzando Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 e OpenSSH 10.0.
Fonte: opennet.ru




