17 Punkte von xguru 2023-12-06 | 5 Kommentare | Auf WhatsApp teilen
  • Eine Sprache, mit der sich .git-Dateien mit einer SQL-ähnlichen Syntax statt einer DB abfragen lassen
  • Eine kleine Engine führt Echtzeitabfragen für Repos ohne separate DB oder Konvertierung aus
  • Unterstützt den Großteil der SQL-Syntax, einschließlich Gruppierung, Sortierung und Aggregation
  • Rust Open Source
SELECT DISTINCT title AS tt FROM commits  
SELECT name, COUNT(name) AS commit_num FROM commits GROUP BY name ORDER BY commit_num DESC LIMIT 10  
SELECT commit_count FROM branches WHERE commit_count BETWEEN 0 .. 10  
  
SELECT * FROM refs WHERE type = "branch"  
SELECT * FROM refs ORDER BY type  
  
SELECT * FROM commits  
SELECT name, email FROM commits  
SELECT name, email FROM commits ORDER BY name DESC, email ASC  
SELECT name, email FROM commits WHERE name LIKE "%gmail%" ORDER BY name  
SELECT * FROM commits WHERE LOWER(name) = "amrdeveloper"  
SELECT name FROM commits GROUP By name  
SELECT name FROM commits GROUP By name having name = "AmrDeveloper"  
  
SELECT * FROM branches  
SELECT * FROM branches WHERE is_head = true  
SELECT name, LEN(name) FROM branches  
  
SELECT * FROM tags  
SELECT * FROM tags OFFSET 1 LIMIT 1  

5 Kommentare

 
yangeok 2023-12-11

awesome

 
eususu 2023-12-06

Schade, dass man nach der Installation keine Abfragen direkt in der CLI eingeben konnte.
Wenn man das Repository jedoch direkt baut und verwendet, kann man die Option nutzen, um Abfragen direkt abzusetzen.

Anscheinend soll das wohl in der nächsten Version hinzugefügt werden.

cargo run -- -q "SELECT * FROM tags"

So kann man es verwenden.
Jetzt kann man es für DevOps-Aufgaben einsetzen. :)

 
galadbran 2023-12-07

Wie ist die Geschwindigkeit bei der Verwendung in großen Repositories? Würde mich interessieren ^^

 
quack337 2023-12-06

Oh! Ich parse immer mal wieder die Ausgabe von git log --numstat, packe sie in eine DB und analysiere sie dann per SQL – eine lästige Arbeit, aber damit wäre das wohl auf einen Schlag erledigt.

 
kuroneko 2023-12-06

Oh … das wirkt vielleicht praktischer, als bei der Arbeit mit Git ständig dieses und jenes an Befehlen zu verwenden.