Pertanyaan Bagaimana Anda menghapus file besar dari sejarah dengan lincah?


Saya baru saja membuat repo lincah yang diciptakan dari ekosistem heterogen dari repo lainnya. Sebelum saya mempublikasikannya ke rekan kerja saya, saya ingin membersihkannya semaksimal mungkin. Untuk tujuan ini, saya ingin menghapus sebagian besar file lama dari sejarah (pura-pura tidak pernah ada), jadi repo akan lebih kecil.

Apakah ini mungkin dengan lincah?


32
2018-04-11 09:26


asal


Jawaban:


Lihat convert ekstensi, khususnya --filemap pilihan.

Aktifkan dengan menambahkan yang berikut ini ke mercurial.ini:

[extensions]
convert =

Buat peta file untuk dikecualikan:

exclude path/to/file1
exclude path/to/file2

Kemudian ubah repo:

hg convert srcrepo destrepo --filemap <map>

Perhatikan ada bug di Mercurial 2.1.1 menyebabkan kesalahan dengan perintah di atas:

initializing destination destrepo repository
abort: invalid mode ('r') or filename

Cukup tambahkan --splicemap <nonexistent file> pilihan untuk memperbaiki masalah.


35
2018-04-11 12:58