* net/tramp.el (tramp-handle-insert-file-contents): For root,
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 30 Oct 2010 16:28:17 +0000 (18:28 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 30 Oct 2010 16:28:17 +0000 (18:28 +0200)
preserve owner and group when editing files.  (Bug#7289)

Please contact me, if you have problems syncing with the trunk.

lisp/ChangeLog
lisp/net/tramp.el

index 0a6999a..3944fde 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-handle-insert-file-contents): For root,
+       preserve owner and group when editing files.  (Bug#7289)
+
 2010-10-29  Glenn Morris  <rgm@gnu.org>
 
        * speedbar.el (speedbar-mode):
index 426785d..50fbaed 100644 (file)
@@ -5008,7 +5008,11 @@ coding system might not be determined.  This function repairs it."
            (setq buffer-file-name filename)
            (setq buffer-read-only (not (file-writable-p filename)))
            (set-visited-file-modtime)
-           (set-buffer-modified-p nil))
+           (set-buffer-modified-p nil)
+           ;; For root, preserve owner and group when editing files.
+           (when (string-equal (file-remote-p filename 'user) "root")
+             (set (make-local-variable 'backup-by-copying-when-mismatch) t)
+             (put 'backup-by-copying-when-mismatch 'permanent-local t)))
          (when (and (stringp local-copy)
                     (or remote-copy (null tramp-temp-buffer-file-name)))
            (delete-file local-copy))