legit är en FUSE-filsystem som monteras valfritt antal Git arkiv skrivskyddad, för att direkt nå alla åtar och sina filer via en katalogstruktur.
legit är skrivskyddad, om det inte finns katastrofala buggar i mjukvaran, bör det inte röra dina data på något sätt.
Installation (från PyPI)
Antag att din har virtualenvwrapper installerad:
& nbsp; mkvirtualenv legitfs
& Nbsp; pip installera legitfs
Installation (utan PyPI)
legit kräver FUSE Python-bindningar, oftast dessa finns tillgängliga (och oftast redan installerat) via din distro. Den korrekta paketet på PyPI heter säkring-python.
Dessutom krävs en något nyare version av Dulwich. Installera det genom din distro eller via PyPI.
Själva programmet är bara en enda fil. Ladda ner den till någonstans i din väg och kör den.
Om du har vakthund paketet installerat, legit automatiskt uppdatera filsystem-innehåll när du lägger till, uppdatera eller ta bort förråd.
Användning exempel
Låt oss prova! I en tom katalog, typ:
& Nbsp; git clone git: //github.com/mbr/simplekv.git
& Nbsp; git clone git: //github.com/mitsuhiko/flask.git
Det kommer klona två Git repositories för oss att leka med. Nu skapa en monteringspunkt någonstans
& Nbsp; mkdir / tmp / legitfs-testet
Slutligen, montera vi den aktuella katalogen (och därmed dess Git förråd):
& Nbsp;. Legitfs -o root = / / tmp / legitfs-testet
Klart! Nu ska vi se vad vi har:
& Nbsp; ls / tmp / legitfs-test /
kolv simplekv
legitfs försöker återskapa katalogstrukturen och även hanterar kapslade arkiv eller de som är i underkataloger. Naturligtvis kan du även montera bara en förvaret vid roten.
Några mer intressanta saker:
ls / tmp / legitfs-test / kolv /
begår HEAD refs
& nbsp; ls / tmp / legitfs-test / kolv / ref / taggar -l
Totalt 48
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0,1 -> ../../commits/8605cc310d260c3b08160881b09da26c2cc95f8d
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0,2 -> ../../commits/e0fa5aec3a13d9c3e8e27b53526fcee56ac0298d
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0,3 -> ../../commits/ce6e4cbd73d57cb8c1bba85c46490f71061f865f
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.3.1 -> ../../commits/6b3e616cf905fd19c37fca93d1198cad1490567b
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0,4 -> ../../commits/1592c53a664c82d9badac81fa0104af226cce5a7
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.5 -> ../../commits/4c937be2524de0fddc2d2f7f39b09677497260aa
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.6 -> ../../commits/5cadd9d34da46b909f91a5379d41b90f258d5998
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.6.1 -> ../../commits/774b7f768214f5b0c125a1b80daa97247a0ac1a6
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0,7 -> ../../commits/fb1482d3bb1b95803d25247479eb8ca8317a3219
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.7.1 -> ../../commits/9682d6b371d8c1ce1fd0e58424e836d27d2317b3
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.7.2 -> ../../commits/3f5db33ece48bd22b77fcc62553998ea9a6cfdfc
lrwxrwxrwx. 1 root root 4096 1. Jan 1970 0.8 -> ../../commits/d5e10e4685f54dde5ffc27c4f55a19fb23f7a536
Varje arkivet innehåller minst tre filer: begår innehåller kataloger, en för varje begår, så att du kan komma åt åtar. HEAD är den nuvarande HEAD-ref, och är, liksom alla refs, en symbolisk länk. refs fungerar även som du förväntar dig och är full av symboliska länkar.
En annan funktion är relativa refs:
& Nbsp; head -n5 /tmp/legitfs-test/flask/refs/tags/0.7~15/README
& Nbsp; // Flask //
& Nbsp; webbutveckling, en droppe i taget
Lägg märke till "0,7 ~ 15 ', vilket är git-tala för" tagg 0.7, sedan gå 15 revisioner tillbaka ". Medan dessa virtuella "filer" visas inte när du ls refs / taggar katalog kan du bifoga valfritt antal ~ n eller ^ någon domaren skulle gå tillbaka begår.
Krav :
- Python
- File i Användarutrymme
Kommentarer hittades inte