I've been running with the set-buffer-file-coding-system for months to
handle my CVS-controlled files, like .bbdb.gpg.
The second part is rather new and fixes previously reported breakage
where newly added CVS files would be reverted before first being
commited, which consequently deletes the file from disk!
Best regards,
Adrian
packages ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: xemacs-packages/vc/ChangeLog
Index: xemacs-packages/vc/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vc/ChangeLog,v
retrieving revision 1.45
diff -u -U0 -r1.45 ChangeLog
--- xemacs-packages/vc/ChangeLog 5 Jun 2005 17:22:08 -0000 1.45
+++ xemacs-packages/vc/ChangeLog 25 Mar 2006 00:02:36 -0000
@@ -0,0 +1,7 @@
+2006-03-25 Adrian Aichner <adrian(a)xemacs.org>
+
+ * vc.el (vc-do-command): Set buffer-file-coding-system 'binary to
+ support handling of encrypted files.
+ * vc.el (vc-next-action-on-file): Avoid losing locally-added CVS
+ files.
+
packages source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: xemacs-packages/vc/vc.el
Index: xemacs-packages/vc/vc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vc/vc.el,v
retrieving revision 1.22
diff -u -w -r1.22 vc.el
--- xemacs-packages/vc/vc.el 5 Jun 2005 17:20:36 -0000 1.22
+++ xemacs-packages/vc/vc.el 24 Mar 2006 23:55:55 -0000
@@ -608,8 +608,12 @@
(let ((obuf (current-buffer)) (camefrom (current-buffer))
(squeezed nil)
(olddir default-directory)
+; (coding-system-for-read 'binary)
+; (coding-system-for-write 'binary)
vc-file status)
(set-buffer (get-buffer-create buffer))
+ ;; Needed for encrypted files.
+ (set-buffer-file-coding-system 'binary)
(set (make-local-variable 'vc-parent-buffer) camefrom)
(set (make-local-variable 'vc-parent-buffer-name)
(concat " from " (buffer-name camefrom)))
@@ -924,7 +928,8 @@
;; because the user might intend to save
;; after finishing the log entry.
(if (and (vc-workfile-unchanged-p file)
- (not (buffer-modified-p)))
+ (not (buffer-modified-p))
+ (not (eq (vc-cvs-status file) 'locally-added)))
;; DO NOT revert the file without asking the user!
(cond
((yes-or-no-p "Revert to master version? ")
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/