如何使 diff
忽略 foo.c~
等临时文件?是否有一个配置文件可以使忽略临时变量成为默认值?
更一般地说:从 tarball 生成“干净”补丁的最佳方法是什么?我很少这样做(通过电子邮件向 OSS 项目提交错误修复),因此我总是为此苦苦挣扎......
编辑:好的,简短的答案是
diff -ruN -x *~ ...
有更好的答案吗?例如,这可以放在配置文件中吗?
最佳答案
这并不能严格回答您的问题,但您可以通过将 Emacs 配置为使用特定目录来保存备份文件来避免该问题。Emacs 或 XEmacs 有不同的实现。
在 GNU Emacs 中
(defvar user-temporary-file-directory (concat temporary-file-directory user-login-name "/")) (make-directory user-temporary-file-directory t) (setq backup-by-copying t) (setq backup-directory-alist `(("." . ,user-temporary-file-directory) (,tramp-file-name-regexp nil))) (setq auto-save-list-file-prefix (concat user-temporary-file-directory ".auto-saves-")) (setq auto-save-file-name-transforms `((".*" ,user-temporary-file-directory t)))
在 XEmacs 中
(require 'auto-save) (require 'backup-dir) (defvar user-temporary-file-directory (concat (temp-directory) "/" (user-login-name))) (make-directory user-temporary-file-directory t) (setq backup-by-copying t) (setq auto-save-directory user-temporary-file-directory) (setq auto-save-list-file-prefix (concat user-temporary-file-directory ".auto-saves-")) (setq bkup-backup-directory-info `((t ,user-temporary-file-directory full-path)))
您还可以使用简单的查找命令将它们全部删除
find . -name “*~” -delete
请注意,星号和波形符用双引号括起来,以阻止 shell 扩展它们。
顺便说一句,这些严格来说并不是临时文件。它们是文件先前版本的备份,因此您可以在将来随时手动“撤消”上次编辑。
关于emacs - 忽略 diff 中的 Emacs 自动生成的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33073/