legit er en FUSE-filsystem som monterer en rekke git repositories read only, slik at direkte tilgang til alle innlegg og sine filer gjennom en katalogstruktur.
legit er skrivebeskyttet, med mindre det finnes katastrofale feil i programvaren, bør det ikke ta på data på noen måte.
Installasjon (fra PyPI)
Forutsatt din har virtualenvwrapper installert:
& nbsp; mkvirtualenv legitfs
& Nbsp; pip installere legitfs
Installasjon (uten PyPI)
legit krever FUSE Python-bindingene, vanligvis disse er tilgjengelig (og oftest allerede installert) gjennom din distro. Riktig pakke på PyPI heter sikring-python.
I tillegg er en noe nyere versjon av Dulwich nødvendig. Installere det gjennom din distro eller via PyPI.
Selve programmet er bare en enkelt fil. Last den ned til hvor som helst i veien og kjøre den.
Hvis du har vaktbikkje pakken installert, vil legit automatisk oppdatere filsystem-innholdet når du legge til, oppdatere eller fjerne repositories.
eksempel bruk
La oss prøve det! I en tom katalog, type:
& Nbsp; git clone git: //github.com/mbr/simplekv.git
& Nbsp; git clone git: //github.com/mitsuhiko/flask.git
Som vil klone to git repositories for oss å leke seg med. Nå opprette en monteringspunkt et sted
& Nbsp; mkdir / tmp / legitfs-test
Til slutt, vi monterer den gjeldende katalogen (og dermed dets git repositories):
& Nbsp;. Legitfs -o root = / / tmp / legitfs-test
Ferdig! Nå la oss se hva vi har fått:
& Nbsp; ls / tmp / legitfs-test /
kolbe simplekv
legitfs prøver å gjenskape katalogstruktur og håndterer også nestet repositories eller de som er i underkataloger. Selvfølgelig kan du også montere bare ett depot ved roten.
Noen mer interessante ting:
ls / tmp / legitfs-test / kolbe /
begår HEAD refs
& nbsp; ls / tmp / legitfs-test / kolbe / refs / merker -l
totalt 48
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,1 -> ../../commits/8605cc310d260c3b08160881b09da26c2cc95f8d
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,2 -> ../../commits/e0fa5aec3a13d9c3e8e27b53526fcee56ac0298d
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,3 -> ../../commits/ce6e4cbd73d57cb8c1bba85c46490f71061f865f
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0.3.1 -> ../../commits/6b3e616cf905fd19c37fca93d1198cad1490567b
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,4 -> ../../commits/1592c53a664c82d9badac81fa0104af226cce5a7
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,5 -> ../../commits/4c937be2524de0fddc2d2f7f39b09677497260aa
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,6 -> ../../commits/5cadd9d34da46b909f91a5379d41b90f258d5998
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0.6.1 -> ../../commits/774b7f768214f5b0c125a1b80daa97247a0ac1a6
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0.7 -> ../../commits/fb1482d3bb1b95803d25247479eb8ca8317a3219
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0.7.1 -> ../../commits/9682d6b371d8c1ce1fd0e58424e836d27d2317b3
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0.7.2 -> ../../commits/3f5db33ece48bd22b77fcc62553998ea9a6cfdfc
lrwxrwxrwx. 1 root root 4096 1. januar 1970 0,8 -> ../../commits/d5e10e4685f54dde5ffc27c4f55a19fb23f7a536
Hvert depot inneholder minst tre filer: begår inneholder kataloger, en for hver begå, slik at du kan få tilgang inger. HEAD er gjeldende HEAD-ref og er, som alle refs, en symlink. refs fungerer også som du forventer, og er full av symlinker.
En annen funksjon er relative refs:
& Nbsp; hode -N5 /tmp/legitfs-test/flask/refs/tags/0.7~15/README
& Nbsp; // Flask //
& Nbsp; webutvikling, en dråpe om gangen
Legg merke til den "0,7 ~ 15 ', som er git-tale for" tag 0,7, deretter gå 15 revisjoner tilbake ". Mens disse virtuelle "filer" vises ikke når du ls refs / merker katalogen, kan du legge en rekke ~ n eller ^ til noen ref å gå tilbake forplikter.
Krav :
- Python
- Filesystem i userspace
Kommentarer ikke funnet