Bagaimana saya bisa meletakkan konfigurasi Windows pribadi saya di bawah kontrol versi ?
Ringkasan (detail dan contoh berikut):
- Konfigurasi pribadi (mis. Preferensi desktop), bukan konfigurasi sistem (mis. Driver); harus bekerja tanpa hak admin
- Kontrol versi, bukan pencadangan atau pencitraan disk
Berikut adalah beberapa hal yang saya ingin dapat lakukan:
- Komit keadaan konfigurasi saya saat ini ke repositori, lebih disukai dengan beberapa rincian (jika saya telah membuat dua perubahan, saya ingin dapat melakukan satu tanpa komit yang lain).
- Tulis entri changelog setiap kali saya komit, dan lihat daftar entri changelog untuk setiap file konfigurasi.
- Lihat perbedaan antara kondisi saat ini dan versi repositori.
- Lihat dari repositori saya di mesin Windows baru dan mereproduksi konfigurasi saya (setidaknya jika mesin baru memiliki versi Windows yang sama).
<added1> Saya tidak akan mencoba memberikan definisi "konfigurasi" yang sepenuhnya tepat; Saya mencoba untuk mencakup semua jenis preferensi pribadi (misalnya, apa pun yang dapat diatur di panel kontrol tanpa hak admin, pintasan di menu "Program" khusus pengguna, ...). Saya tidak ingin memasukkan dokumen saya atau aplikasi yang diinstal. </added1>
<added2> Perhatikan bahwa saya menargetkan konfigurasi pribadi saya, bukan konfigurasi sistem (itu akan berguna juga, tetapi bukan tujuan dari pertanyaan ini). Misalnya saya mengharapkan solusi untuk bekerja tanpa hak admin. </added1>
Apa yang saya lakukan di unix adalah meletakkan (pilihan) file dot saya di bawah kontrol versi . Di Windows, saya kira saya harus melakukan registri dan beberapa file (yang?) Di bawah Application Data
. Saya ingin sesuatu yang lebih baik daripada meletakkan seluruh file registri di bawah kontrol versi (itu tidak cukup granularity, dan saya takut masalah penguncian). <added1> Idealnya saya akan menggunakan pembungkus atau skrip dengan beberapa perangkat lunak kontrol versi umum (Bazaar, CVS, Darcs, Git, Mercurial, Subversion, ...), tapi itu bukan persyaratan mutlak. </added1>
Saat ini saya perlu bekerja dengan Windows 2000 dan Windows XP. Karena ini untuk mesin kerja, payware tidak akan berfungsi (open source akan ideal). Saya lebih nyaman dengan baris perintah daripada dengan GUI.
<added1> Ini contoh alur kerja:
- Suatu hari saya memutuskan saya ingin latar belakang desktop saya menjadi merah muda. Jadi saya melakukan perubahan melalui GUI. Ini memodifikasi
baris dalamkuncifile konfigurasidi registri. Saya kemudian melakukan perubahan, untuk melacaknya. - Kemudian saya bertanya-tanya mengapa latar belakang desktop saya berwarna merah muda. Jadi saya mencari "warna desktop" di changelog.
- Suatu hari saya perlu menggunakan mesin baru. Jadi saya memeriksa dari repositori konfigurasi saya, dan voilà, desktop pink.
Berikut adalah beberapa hal yang tidak saya coba lakukan:
Saya tidak mencoba membuat cadangan. Saya ingin dapat melacak perubahan (berdasarkan semantik, atau setidaknya sintaks, bukan hanya berdasarkan tanggal), dan untuk berbagi informasi antar mesin (satu repositori, beberapa checkout).
Saya tidak mencoba meniru instalasi Windows. Saya tidak ingin membawa dependensi perangkat keras, aplikasi yang diinstal, atau dokumen.
</added1>