Forum OpenACS Q&A: OT: getting emacs to append version numbers on cvs edits

Request notifications

Hi, this is a bit off topic so i apologize. I have finally decided to use CVS for development, it is just me here but i finally found a reason for me to use it so i'm setting it up. If i download openacs via:
cvs -z3 -d co acs-core
and edit a file, lets just say packages/page/www/index.tcl when i exit emacs it automatically creates a backup file packages/page/www/index.tcl.~ I like this behavior. Now, i have set up a cvs repository on my server and when i download the respository and edit a file it doesn't add that tag to the end of the file. in fact it doesn't even create a packages/page/www/index.tcl~ file, which it normally does (i.e. if i edit a file in /etc/ or something like that). Does anybody have any pointers?
Posted by Deds Castillo on
AFAIK, this is controlled by your emacs using the vc-cvs-stay-local variable and not by the CVS repository on your server.  So I can't understand why it won't work if you are using the same emacs client, are you?
i'm using the exact same emacs client with the same user and the same .emacs file. i don't have any mention of vc-cvs-stay-local in my .emacs file, but as i said, it works for an openacs download but not a cvs "download" from a local repository. this is what i have in my .emacs file:
;; Use F1 to get man page help
(global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))

;; Supress the GNU startup message
(setq inhibit-startup-message t)

;; Turn off the menu bar
;;(menu-bar-mode -1)

;; Turn off the scroll bar
;;(scroll-bar-mode -1)

;; Make the buffer re-highlight when we recenter
(global-set-key "\C-\\" 'hilit-highlight-buffer)
(global-set-key "\C-l" 'recenter)

;; Get backspace key to work properly on many machines.
;;(setq term-setup-hook
;;      '(lambda()
;;         (setq keyboard-translate-table "\C-@\C-a\C-b\C-c\C-d\C-e\C-f\C-g\C-?")
;;         (global-set-key "\M-h" 'help-for-help)))

;; No tabs-- use spaces when indenting (doesn't affect Makefiles,
;; does affect text files and code, doesn't affect existing tabs).
;; The use of setq-default means this only affects modes that don't
;; overwrite this setting.
(setq-default indent-tabs-mode nil)

;; make a shortcut for the goto-line function
;;(global-set-key [?\C-1] 'goto-line)

;;(add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m)

;;(setq font-lock-maximum-decoration t)
;;(global-font-lock-mode t)

;; Set "Windows" GUI colors for emacs, including showing selection.
;;                                           ; selection
;;(transient-mark-mode 1)                    ; show selections
;;(set-face-foreground 'region "white")
;;(set-face-background 'region "Navy")

                                           ; status bar
;;(set-face-foreground 'modeline "black")    ; status bar
;;(set-face-background 'modeline "grey")

;;(set-background-color "white")(
;;set-foreground-color "black")

;;(set-face-foreground 'highlight "DarkGreen")   ; hyperlink
;;(set-face-background 'highlight "white")       ; hyperlink

;;(set-face-foreground 'font-lock-comment-face "DarkGreen")
;;(set-face-foreground 'font-lock-variable-name-face "Brown")
;;(set-face-foreground 'font-lock-string-face "DarkOrchid")
;;(set-face-foreground 'font-lock-keyword-face "blue")
;;(set-face-foreground 'font-lock-function-name-face "Navy")
;;(set-face-foreground 'font-lock-type-face "Red")

  ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
;; )

;;(global-set-key "\M-\C-m" 'unixify)
  ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 '(add-log-full-name "Matthew Geddert" t)
 '(add-log-mailing-address "" t)
 '(case-fold-search t)
 '(coding-system-for-write (quote undecided-unix) t)
 '(column-number-mode t)
 '(current-language-environment "Latin-1")
 '(default-buffer-file-coding-system (quote undecided-unix) t)
 '(default-input-method "latin-1-prefix")
 '(global-font-lock-mode t nil (font-lock))
 '(require-final-newline (quote ask))
 '(transient-mark-mode t))

;; Red Hat Linux default .emacs initialization file

;; Are we running XEmacs or Emacs?
(defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))

;; Set up the keyboard so the delete key on both the regular keyboard
;; and the keypad delete the character under the cursor and to the right
;; under X, instead of the default, backspace behavior.
(global-set-key [delete] 'delete-char)
(global-set-key [kp-delete] 'delete-char)

;; Turn on font-lock mode for Emacs
(cond ((not running-xemacs)
       (global-font-lock-mode t)
;; Visual feedback on selections
(setq-default transient-mark-mode t)
;;;; Always end a file with a newline
(setq require-final-newline t)
;;;; Stop at the end of the file, not just add lines
(setq next-line-add-newlines nil)
;;;; Enable wheelmouse support by default
(cond (window-system
Posted by Bart Teeuwisse on

take a look at the Emacs help topic (C-h i) for backing up files. You get there by typing 'm emacs' followed by 'm backup' in the info mode. The topic "Names: Backup Names" will tell you what to do ('m names').

Set the variable version-control to "t" in your .emacs file like so:

  (setq version-control t)

This should number your backups.


Bart and Deds, Thanks for the help. I works!!! i need to read up more on cvs settings in emacs but for now, entering:
(setq version-control f)
(setq vc-cvs-stay-local t)
(setq vc-make-backup-files t)