Wie kann ich meine persönliche Windows-Konfiguration unter Versionskontrolle stellen ?
Zusammenfassung (Details und Beispiele folgen):
- Persönliche Konfiguration (z. B. Desktop-Einstellungen), keine Systemkonfiguration (z. B. Treiber); sollte ohne Administratorrechte funktionieren
- Versionskontrolle, keine Backups oder Disk Imaging
Hier sind einige Dinge, die ich tun möchte:
- Übertragen Sie den aktuellen Status meiner Konfiguration in ein Repository, vorzugsweise mit einer gewissen Granularität (wenn ich zwei Änderungen vorgenommen habe, möchte ich eine festschreiben können, ohne die andere festzuschreiben).
- Schreiben Sie bei jedem Festschreiben einen Änderungsprotokolleintrag und sehen Sie sich die Liste der Änderungsprotokolleinträge für jede Konfigurationsdatei an.
- Sehen Sie sich die Unterschiede zwischen dem aktuellen Status und einer Repository-Version an.
- Checken Sie aus meinem Repository auf einem neuen Windows-Computer aus und reproduzieren Sie meine Konfiguration (zumindest wenn der neue Computer dieselbe Windows-Version hat).
<added1> Ich werde nicht versuchen, eine vollständig genaue Definition von "Konfiguration" zu geben. Ich versuche, alle Arten von persönlichen Einstellungen abzudecken (z. B. alles, was in der Systemsteuerung ohne Administratorrechte eingestellt werden kann, Verknüpfungen in meinem benutzerspezifischen Menü „Programme“,…). Ich möchte meine Dokumente oder installierten Anwendungen nicht einschließen. </ added1>
<added2> Beachten Sie, dass ich auf meine persönliche Konfiguration abziele, nicht auf die Systemkonfiguration (das wäre auch nützlich, aber es ist nicht der Zweck dieser Frage). Zum Beispiel erwarte ich, dass eine Lösung ohne Administratorrechte funktioniert. </ added1>
Unter Unix mache ich (eine Auswahl) meiner Punktedateien unter Versionskontrolle . Unter Windows sollte ich die Registrierung und einige Dateien (unter welchen?) Festschreiben Application Data
. Ich hätte gerne etwas Besseres, als die gesamte Registrierungsdatei unter Versionskontrolle zu stellen (das reicht nicht aus, und ich befürchte, Probleme beim Sperren zu haben). <added1> Idealerweise würde ich Wrapper oder Skripte mit einer gängigen Versionskontrollsoftware (Bazaar, CVS, Darcs, Git, Mercurial, Subversion, ...) verwenden, aber das ist keine absolute Voraussetzung. </ added1>
Ich muss derzeit mit Windows 2000 und Windows XP arbeiten. Da dies für eine Arbeitsmaschine gilt, funktioniert Payware nicht (Open Source wäre ideal). Ich bin mit der Befehlszeile besser vertraut als mit GUIs.
<added1> Hier ist ein Beispielworkflow:
- Eines Tages möchte ich, dass mein Desktop-Hintergrund rosa ist. Also mache ich die Änderung über die GUI. Dadurch wird eine
Zeile in einem Konfigurationsdateischlüsselin der Registrierung geändert. Ich begebe dann die Änderung, um den Überblick zu behalten. - Später frage ich mich, warum mein Desktop-Hintergrund rosa ist. Also suche ich im Changelog nach „Desktop-Farbe“.
- Eines Tages muss ich eine neue Maschine benutzen. Also checke ich aus meinem Konfigurations-Repository und voilà, pink Desktop.
Hier sind einige Dinge, die ich nicht versuche:
Ich versuche nicht, Backups zu erstellen. Ich möchte in der Lage sein, Änderungen (nach Semantik oder zumindest Syntax, nicht nur nach Datum) zu verfolgen und Informationen zwischen Computern auszutauschen (ein Repository, mehrere Checkouts).
Ich versuche nicht, eine Windows-Installation zu replizieren. Ich möchte keine Hardwareabhängigkeiten, installierten Anwendungen oder Dokumente übertragen.
</ added1>