gradle - mercurial
Using gradle is simple.
This way you can add the hg-revision-data to your MANIFEST-file.
Using gradle is simple.
This way you can add the hg-revision-data to your MANIFEST-file.
Normalerweise eignen sich so große Dateien nicht zur Versionierung, bei Tests, die immer die Gleiche Datenbasis haben sollen, macht es jedoch Sinn und erspart das komplette zurückrollen einer ganzen DB.
Nach dem Ausführen des Batchs kann man die Dateien einfach durch hg add
in ein bestehendes Repository hinzufügen (Erzeugen eines Repositories mit hg init
) und mit hg commit -m "Nachricht"
einchecken. Trotz großer Datenmengen verhält sich mercurial doch recht performant.
Backups sind wichtig! Unbestritten! Bisher wurde die komplette DB in eine Datei gedumpt bzipt und per ssh archiviert. Damit das Archiv nicht zu groß wird, wurden alle unwichtigen Zwischen-Stände gelöscht, mehr oder weniger intelligent und automatisch per Script. Schlecht wenn etwas schief geht.
Inzwischen habe ich eine bessere Lösung gefunden… Alle Tabellen einer DB werden in ein Verzeichnis gedumpt, dann per hg versioniert, das Repo wird dann regelmäßig gespiegelt.
Nichts ist lästiger als Versionsverwaltung ohne lesbare Diffs. Neulich hatten wir den Fall, dass XML-Dateien kein verständliches Diff zuließen. Grund war unter anderem fehlende oder falsche Zeilenumbrüche.
In Mercurial kann man durch decoding bzw. encoding bei Commit und Update durch externe Programme ausführen lassen.