GitlibPythonic Low-Level Git-Bibliothek | |
Jetzt downloaden |
Gitlib Ranking & Zusammenfassung
Anzeige
- Lizenz:
- BSD License
- Preis:
- FREE
- Name des Herausgebers:
- Andrew McNabb
- Website des Verlags:
- http://www.mcnabbs.org/andrew/mrs/
Gitlib Stichworte
Gitlib Beschreibung
Pythonic Low-Level Git-Bibliothek Gitlib ist eine Bibliothek, die ursprünglich als Teil von Smug entwickelt wurde, aber es ist nützlich als Standalone-Bibliothek. Es bietet eine pythonische API zum Erstellen, Zugriff auf das Erstellen, Zugreifen oder Modifizieren eines GIT-Repositorys.Manische Funktionen in Gitlib werden in nativem Python implementiert, andere, während andere ausgeführte Git-Sanitärbefehle benötigen. Einer der Hauptvorteile von Gitlib ist, dass es Vorgänge auf einem bloßen Repository führen kann, das ansonsten einen Arbeitsbaum erfordern kann. >> repo = gitlib.repository (Pfad) >>> repo.create () git objectsyou kann Blobs erstellen. >>> blob = gitlib.bob () >>> blob.text = 'Dies ist ein Test. '>>> blob.freeze () >>> repo.write (Blob) Sie können sie zu Bäumen hinzufügen. >>> testfile1 =' test.txt '>>> tree = gitlib.tree () >>> Baum. ADD_FILE (TestFile1, BLOB.Name, 'BLOB') TRUE >>> Tree.Freeze () >>> Repo.Write (Baum), der hinzugefügt werden kann, um Commits hinzuzufügen. >>> Commit = gitlib.commit () >>> Commit.tree = Tree.name >>> Commit.Author = 'Andrew McNabb 1219616814 -0600' >>> Commit.Message = 'Erstes Commit! '>>> Commit.Freeze () >>> Repo.Write (COMMIT), das in Filialen gespeichert werden kann. >>> Repo.Save_head (Commit.Name, None) TRUE >>> BrancheOfeTour Commit erstellt einen neuen Baum in der Repository, das ist jetzt der Leiter des Zweigs "Master". Wenn wir uns den Baum / Commit ansehen wollen, können wir das tun: >>> head = repo.find_head () >>> Der Variablenkopf hält eine Zeichenfolge, die eine Hexadezimalzahl darstellt. Diese Nummer ist der SHA-1-Hash des Commit. Es wird als eindeutige Kennung verwendet. Wir können die ID dieses Commit verwenden, um die ID der Datei, die wir gerade dem Repository hinzugefügt haben, zu finden, und wir können diese Datei als Datei-ähnliches Objekt öffnen: >>> fileID = repo.getName (testFile1, treename = head) >>> blob2 = repo.getbob (fileID) >>> drucken blob2.contents, dies ist ein test. >>> Wir können dem Repository eine neue Datei hinzufügen, aber bis wir einen neuen Baum mit einem Bezug darauf erstellen, Es ist nur ein baumelndes Objekt. >>> blob = gitlib.bob ('zweite Testdatei. Testen. ') >>> Repo.write (BLOB) IndexeSIF Wir möchten ein Repository ändern, wir müssen unsere Änderungen in einem Index vornehmen und den Index als neuer Baum speichern. Lassen Sie uns durch den Prozess gehen. >>> testfile2 = 'test2.txt' >>> index = repo.readtree (Kopf) >>> index.de (testFile2, blob.name) >>> newtree = index.write () Aber jetzt ist der neue Baum (dessen ID in Newtree) noch ein baumelndes Objekt. Wir müssen immer noch ein Commit machen. In dem folgenden Commit geben wir die ID des Baums an, den wir verpflichten, sowie der Elternteil für dieses Commit (in diesem Fall nur den Kopf) und den ChangeLog-Zeichenfolge. >>> newcommit = repo.commit (newtree , , 'mit Gitlib begehen') Wir haben noch ein baumelndes Commit-Objekt! Der letzte Schritt, um in all diesen neuen Objekten zu binden, besteht darin, die ID des Commit-ID an den Master Head Ref. >>> repo.save_head (newcommit, head) true >>> Jetzt können wir unsere neue Datei abrufen, die ordnungsgemäß ist Versteckt. >>> fileID = repo.getName (testfile2) >>> repo.gettype (fileID) 'Blob' >>> f = repo.getbob (fileId) >>> drucken f, zweite test file.testing. >> > Anforderungen: · Python
Gitlib Zugehörige Software