Veröffentlichung des Repository-Management-Systems , Enthusiasten und Vertretern der Organisation Software Freedom Conservancy, um die Entwicklung der offenen Codebasis von RhodeCode fortzusetzen, nach dieser Plattform in ein halbproprietäres kommerzielles Produkt. Kallithea ermöglicht den Aufbau einer Entwicklungsmanagement-Infrastruktur, die Git- und Mercurial-Versionierungssysteme unterstützt und in ihren Aufgaben GitHub, GitLab und Bitbucket ähnelt. Der Code des Projekts ist in Python geschrieben und Die Veröffentlichung des Video Players MPV 0.32
Kallithea umfasst einen leistungsstarken Server zur Verarbeitung von Push/Pull-Anfragen und eine Web-Oberfläche zur Organisation der gemeinsamen Entwicklung. Diese ermöglicht die Verwaltung von Repositories, die Vergabe von Zugriffsrechten, das Review von Code, das Verfolgen der Aktivitäten anderer Teilnehmer, das Forken von Projekten, das Senden von Pull-Requests und das direkte Bearbeiten von Code über einen einfachen Editor. Die Integration mit einer zentralen Unternehmensbenutzerdatenbank, basierend auf LDAP oder ActiveDirectory, wird unterstützt. Es ist möglich, Gruppen von Repositories und Entwicklern zu erstellen, um eine einheitliche Verwaltung der Gruppenmitglieder zu gewährleisten. Das Erscheinungsbild der Benutzeroberfläche kann einfach über ein Template-System angepasst werden. Eine visuelle Darstellung der Aktivitäten in Form von Grafiken wird unterstützt. Im Änderungsreview-System können Änderungen diskutiert und Benachrichtigungen versendet werden.
Die Serverkomponente der Plattform ist mehrsprachig, was die gleichzeitige Bearbeitung mehrerer Pull-/Push-Anfragen ermöglicht. Zur Steigerung der Leistung wird im System aktiv Caching und die Ausführung von Aktionen im asynchronen Modus eingesetzt. Das System ist mit Backup-Tools integriert, die es ermöglichen, regelmäßig ein Archiv aller Daten über «scp» zu erstellen und zu speichern. Zur Verfolgung der Aktivitäten in den Repositories gibt es eine spezielle Schicht, die ein Protokoll aller Anfragen führt und die Authentifizierung jeder Anfrage ermöglicht. Für die Arbeit mit Repositories wird die Bibliothek , wobei Metadaten zu Projekten in SQLite, PostgreSQL oder anderen von SQLAlchemy unterstützten Datenbanken gespeichert werden können.
Wesentliche Änderungen:
- Der Zugriff auf das Repository über SSH ist jetzt möglich, indem eine URL im Format „ssh://kallithea@example.com/name/of/repository“ verwendet wird. Die Authentifizierung beim Zugriff auf das Repository über SSH erfolgt auf Grundlage des öffentlichen Schlüssels des Benutzers (mit zusätzlicher Passwortsicherung des Schlüssels oder ohne, je nach Benutzerpräferenz). Das Hochladen des Schlüssels (~/.ssh/id_rsa.pub) auf den Server erfolgt über das Web-Interface von Kallithea, das die Speicherung des Schlüssels in der Datei authorized_keys automatisiert. Es wird angemerkt, dass die Leistungsfähigkeit der Arbeit mit dem Repository über SSH höher ist als bei Zugriff auf das Repository über HTTPS.
- Es wurde Unterstützung für das verteilte Versionsverwaltungssystem Mercurial 5.2 hinzugefügt.
- Die Funktion „Admin > Einstellungen > Visual > (HTTP) Clone URL“ wurde überarbeitet, ihr Handler überprüft jetzt explizit das Vorhandensein der Zeichenfolgen „{repo}“ und „_{repoid}“.
- Das Berechtigungssystem wurde bereinigt – Berechtigungen werden stets nur als zusätzliche Rechte betrachtet, d.h. garantiert wird, dass jeder Benutzer mindestens dieselben Rechte hat wie der Standardbenutzer.
- Im Konfigurationsfile wurde die Unterstützung der Einstellung api_access_controllers_whitelist eingestellt. Die Authentifizierung über den API-Zugangsschlüssel gewährt nun automatisch Zugang zu allen API, die dem Nutzer genehmigt sind.
- Die Unterstützung für Python 2.6 wurde eingestellt. Derzeit wird nur die Version Python 2.7 unterstützt, aber die Entwickler arbeiten daran, vollständige Unterstützung für Python 3.x zu gewährleisten.
- Die Funktion zur Sperrung des Repositories (pull-to-lock, push-to-unlock) wurde entfernt.
Quelle: opennet.ru
