legit adalah FUSE-filesystem yang mount sejumlah git repositori hanya membaca, yang memungkinkan akses langsung ke semua komit dan file mereka melalui struktur direktori.
legit adalah read-only, kecuali ada bug bencana dalam perangkat lunak, seharusnya tidak menyentuh data Anda dengan cara apapun.
Instalasi (dari PyPI)
Dengan asumsi Anda memiliki virtualenvwrapper diinstal:
& Nbsp; mkvirtualenv legitfs
& Nbsp; pip menginstal legitfs
Instalasi (tanpa PyPI)
legit membutuhkan binding FUSE python, biasanya ini tersedia (dan paling sering sudah terpasang) melalui distro Anda. Paket yang benar pada PyPI bernama sekering-python.
Selain itu, versi yang agak baru-baru ini Dulwich diperlukan. Instal melalui distro atau melalui PyPI.
Program itu sendiri adalah hanya satu file. Download ke mana saja di jalan Anda dan menjalankannya.
Jika Anda memiliki paket pengawas terpasang, legit akan secara otomatis me-refresh filesystem-isi bila Anda menambah, memperbarui atau menghapus repositori.
contoh Penggunaan
Mari kita coba! Dalam direktori kosong, ketik:
& Nbsp; git clone git: //github.com/mbr/simplekv.git
& Nbsp; git clone git: //github.com/mitsuhiko/flask.git
Itu akan mengkloning dua repositori git bagi kita untuk bermain-main dengan. Sekarang membuat mountpoint di suatu tempat
& Nbsp; mkdir / tmp / legitfs-test
Akhirnya, kita me-mount direktori saat ini (dan karena itu git repositori nya):
& Nbsp;. Legitfs -o root = / / tmp / legitfs-test
Selesai! Sekarang mari kita lihat apa yang kita miliki:
& Nbsp; ls / tmp / legitfs-test /
labu simplekv
legitfs mencoba untuk menciptakan direktori-struktur dan juga menangani repositori bersarang atau mereka yang berada di subdirektori. Tentu saja, Anda juga dapat me-mount hanya satu repositori pada akar.
Beberapa hal yang lebih menarik:
ls / tmp / legitfs-test / flask /
melakukan ref KEPALA
& Nbsp; ls / tmp / legitfs-test / flask / ref / tag l
Total 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
Setiap repositori berisi setidaknya tiga file: melakukan berisi direktori, satu untuk setiap komit, memungkinkan Anda untuk mengakses komit. KEPALA adalah saat KEPALA-ref dan, seperti semua ref, symlink. ref juga bekerja seperti yang Anda harapkan dan penuh symlink.
Fitur lain adalah ref relatif:
& Nbsp; kepala -n5 /tmp/legitfs-test/flask/refs/tags/0.7~15/README
& Nbsp; // Flask //
& Nbsp; pengembangan web, satu tetes pada suatu waktu
Perhatikan '0,7 ~ 15', yang git-berbicara untuk "tag 0,7, kemudian 15 revisi kembali". Meskipun virtual "file" tidak ditampilkan ketika Anda ls direktori ref / tag, Anda dapat menambahkan sejumlah ~ n atau ^ untuk setiap ref untuk kembali melakukan.
Persyaratan :
- Python
- Filesystem di Userspace
Komentar tidak ditemukan