legit er et FUSE-filsystem der monterer et vilkårligt antal git repositories read only, der muliggør direkte adgang til alle begår og deres filer via en mappestruktur.
legit er skrivebeskyttet, medmindre der er katastrofale fejl i softwaren, bør det ikke røre dine data på nogen måde.
Installation (fra PyPI)
Under forudsætning af din have virtualenvwrapper installeret:
& nbsp; mkvirtualenv legitfs
& Nbsp; pip installere legitfs
Installation (uden PyPI)
legit kræver sikringen python-bindinger, som regel disse er tilgængelige (og oftest er installeret) via din distribution. Den korrekte pakke på PyPI hedder sikring-python.
Desuden er en noget nyere version af Dulwich påkrævet. Installer det gennem din distribution eller via PyPI.
Selve programmet er blot en enkelt fil. Download det til overalt i din vej og køre den.
Hvis du har vagthund pakken installeret, vil legit automatisk opdatere filsystemet-indhold, når du tilføje, opdatere eller fjerne repositories.
Anvendelse eksempel
Lad os prøve det! I et tomt bibliotek, type:
& Nbsp; git klon git: //github.com/mbr/simplekv.git
& Nbsp; git klon git: //github.com/mitsuhiko/flask.git
Det vil klone to git-arkiver for os at lege med. Nu oprette en mountpunkt sted
& Nbsp; mkdir / tmp / legitfs-test
Endelig vil vi montere den aktuelle mappe (og dermed dens git-arkiver):
& Nbsp;. Legitfs -o root = / / tmp / legitfs-test
Udført! Lad os nu se, hvad vi har fået:
& Nbsp; ls / tmp / legitfs-test /
kolbe simplekv
legitfs forsøger at genskabe den mappe-struktur og også håndterer indlejrede repositories eller dem, der er i undermapper. Selvfølgelig kan du også montere bare en repository ved roden.
Nogle mere interessante ting:
ls / tmp / legitfs-test / kolbe /
begår HEAD dommere
& nbsp; ls / tmp / legitfs-test / kolbe / ref / tags -l
alt 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
Hver repository indeholder mindst tre filer: begår indeholder mapper, en for hver begå, så du kan få adgang begår. HEAD er den nuværende leder-ref og er, ligesom alle dommere har et symlink. dommere også fungerer som du ville forvente, og er fuld af symlinks.
En anden funktion er relative dommere:
& Nbsp; head -N5 /tmp/legitfs-test/flask/refs/tags/0.7~15/README
& Nbsp; // Flask //
& Nbsp; webudvikling, en dråbe ad gangen
Læg mærke til "0,7 ~ 15 ', som er git-tale for" tag 0,7, derefter gå 15 revisioner tilbage ". Mens disse virtuelle "filer" vises ikke, når du LS ref / tags mappe, kan du tilføje et vilkårligt antal ~ n eller ^ til nogen ref tilbage forpligter.
Krav :
- Python
- filsystem i Userspace
Kommentarer ikke fundet