visual versioning

22/04/2014 - 15:43 von Ulli Horlacher | Report spam
Emacs und kompatible Editoren erstellen beim Abspeichern automatisch ein
backup der Datei, das dann im Dateiname ein ~ angefuegt bekommt.
Beispiel: file.txt --> file.txt~

Oft reicht aber nur eine (letzte) Backup-Version nicht aus und ausserdem
wird so das aktuelle directory mit den ganzen file~ vollgekleistert, was
sich bei Kommandos wie ls oder grep unangenehm auswirkt.

Beide Nachteile umgeht vv (visual versioning), das bis zu 10
Backup-Versionen in einem eigenen .versions/ subdirectory anlegt und
dazu weitere Operationen anbietet:
list, view, recover, diff, save, migrate

Klassische Versionskontrollsysteme wie RCS, SCCS, subversion oder Git
muss man explizit aufrufen, bei vv passiert das implizit.

vv kann problemlos in vim oder jed integriert werden, so dass es beim
Abspeichern automatisch aufgerufen wird und man sich um nichts weiter
kuemmern muss: Backup-Versionen werden automatisch und unsichtbar angelegt.
Nur im Notfall greift man dann darauf zu, durch expliziten Aufruf von vv.

http://fex.rus.uni-stuttgart.de/fstools/vv.html

Schoen waere es, wenn man vv auch in anderen Editoren (zB emacs) verwenden
koennte. Dazu muesste man ein paar Zeilen Konfigurations-Code fuer den
jeweiligen Editor schreiben (vim brauchte nur 2 Zeilen).
Dafuer such ich nun Interessierte :-)

Falls das Schema jemand bekannt vorkommen sollte: VMS RMS macht das so,
allerdings fuer ALLE Dateien, nicht bloss die editierten. Ich haette das
fuer UNIX schon vor 25 Jahren haben wollen/koennen :-}

Ullrich Horlacher Informationssysteme und Serverbetrieb
Rechenzentrum IZUS/TIK E-Mail: horlacher@tik.uni-stuttgart.de
Universitaet Stuttgart Tel: ++49-711-68565868
Allmandring 30a Fax: ++49-711-682357
70550 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/
 

Lesen sie die antworten

#1 Olaf Meltzer
22/04/2014 - 15:55 | Warnen spam
* Ulli Horlacher schrieb:

Emacs und kompatible Editoren erstellen beim Abspeichern automatisch
ein backup der Datei, das dann im Dateiname ein ~ angefuegt bekommt.
Beispiel: file.txt --> file.txt~



Emacs kann auch automatisch beliebig viele Versionen ablegen. Bei
Bedarf auch in nur für Backups vorgesehenem Verzeichnis. ;-)

Die entsprechende Konfiguration für ~/.emacs:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; VERSIONSKONTROLLE / BACKUP STRATEGIE
;;
;; Sicherheitskopien aktivieren
;
(setq make-backup-files t)
;
;; Versionskontrolle aktivieren
;; Die neuesten n Versionen behalten,
;; und die n àltesten Version behalten.
;; Dazwischenliegende Zustànde löschen.
;;
(setq version-control t) ; never, nil oder t
(setq kept-new-versions 5)
(setq kept-old-versions 0)
(setq trim-versions-without-asking t)
;;
;;
;; Backups zentral ablegen
;; (hat sich als unpraktisch erwiesen)
;;
;(require 'backup-dir)
;(setq bkup-backup-directory-info
; '((t "~/temp/xemacsbackup"
; full-path prepend-name search-upward ok-create)))
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Gruß -- Olaf Meltzer

openSUSE 13.1 (x86_64) mit Kernel 3.11.10-7-desktop || Win 8.1 Pro
KDE: 4.11.5
Tower mit Intel(R) Core(TM) i5-4430 CPU @ 3.00GHz

Ähnliche fragen