bup-midx - buat file multi-indeks (.midx) dari beberapa file .idx
bup midx [-o outfile] <-a|-f|idxnames...>
bup midx membuat file multi-indeks (.midx) dari satu atau lebih file git pack index (.idx).
Catatan: Anda tidak perlu lagi menjalankan perintah ini dengan tangan. Itu dijalankan secara otomatis oleh bup-save(1) dan perintah serupa.
gunakan nama file keluaran yang diberikan untuk file .midx. Default dibuat secara otomatis.
secara otomatis menghasilkan file .midx baru untuk file .idx mana pun yang sesuai.
paksa pembuatan satu file .midx baru yang berisi semua file .idx Anda, bahkan jika file .midx lainnya sudah ada. Ini akan menghasilkan kinerja pencadangan tercepat, tetapi mungkin perlu waktu lama untuk dijalankan.
tentukan direktori yang berisi file .idx/.midx untuk digunakan. Standarnya adalah $BUP_DIR/objek/paket.
jumlah maksimum file .idx untuk dibuka sekaligus. Anda dapat menggunakan ini jika Anda memiliki sejumlah kecil deskriptor file yang tersedia, sehingga midx dapat menyelesaikan (walaupun mungkin tidak optimal) meskipun tidak dapat membuka semua file .idx Anda sekaligus. Nilai default dari opsi ini seharusnya baik untuk kebanyakan orang.
memvalidasi file .midx dengan memastikan bahwa semua objek dalam file .idx yang ada di dalamnya ada di dalam .midx. Mungkin berguna untuk debugging.
$ bup midx -a
Merging 21 indexes (2278559 objects).
Table size: 524288 (17 bits)
Reading indexes: 100.00% (2278559/2278559), done.
midx-b66d7c9afc4396187218f2936a87b865cf342672.midxSecara default, bup menggunakan file paket berformat git, yang terdiri dari file paket (berisi objek) dan file idx (berisi daftar nama objek yang diurutkan dan offsetnya dalam file .pack).
File idx normal nyaman karena itu berarti Anda dapat menggunakan git(1) untuk mengakses dataset cadangan Anda. Namun, file idx bisa menjadi lambat ketika Anda memiliki banyak paket yang sangat besar (yang biasanya tidak dimiliki git, tetapi bup sering melakukannya).
file bup .midx terdiri dari satu daftar terurut dari semua objek yang terdapat dalam semua file .pack yang dirujuknya. Daftar ini dapat dicari secara biner dalam sekitar langkah-langkah log2(m), di mana m adalah jumlah total objek.
Untuk lebih mempercepat pencarian, file midx juga memiliki tabel fanout berukuran variabel yang mengurangi n langkah pertama pencarian biner. Dengan bantuan tabel fanout ini, bup dapat mempersempit halaman mana dari file midx tempat id objek tertentu berada (jika ada) dengan satu pencarian. Dengan demikian, pencarian tipikal hanya perlu menukar dua halaman: satu untuk tabel fanout, dan satu lagi untuk id objek.
file midx paling berguna saat membuat cadangan baru, karena mencari objek yang tidak ada di repositori perlu mencari melalui semua file indeks untuk memastikan bahwa itu tidak ada. (Mencari objek yang memang ada dapat dioptimalkan; misalnya, objek berurutan sering disimpan dalam paket yang sama, jadi kita dapat mencarinya terlebih dahulu menggunakan algoritme MRU.)
bup-save(1), bup-margin(1), bup-memtest(1)
Bagian dari paket bup(1).
Avery Pennarun