From: Heiko Gerdau <hg@technosis.de>
Subject: Re: backup files and version control
Date: Fri, 18 Feb 2005 11:39:38 +0100 [thread overview]
Message-ID: <200502181139.38976.hg@technosis.de> (raw)
In-Reply-To: <37kah1F5cahslU1@individual.net>
Hi,
thanks a lot for your hints. I did as you suggested (changed the name of
make-backup-file-name) and used your "backup-file-name-p" version. I also
added my relative backup directories ( "/.backup~" ) to
backup-directory-alist. Unfortunately all this has no effect.
But while testing I realized the following:
Let's say I have the file "foo.cpp" under version control and it is uptodate.
If I change that file using Emacs than on saving a new file "foo.bar.~1.4~"
is written to the same directory, if 1.4 is the current revision in CVS. This
file has the date of the revision in CVS and is never changed again. I can
delete it and change foo.cpp again and it's not created again.
So it happens only on the first change of an uptodate file under cvs control.
Maybe the problem has nothing to with the emacs backup handling.
Any further idea?
Best
Heiko
On Thursday 17 February 2005 20:44, Kevin Rodgers wrote:
> Heiko Gerdau wrote:
> > I need some advice concerning backup files and version control.
> >
> > I have written my own elisp function "make-backup-file-name" to
> > collect backup files in subdirectories named ".backup~". (function is
> > attached at the end of this mail)
>
> It would be better to write a new function (i.e. with a new name) and
> set the make-backup-file-name-function variable to it (than to redefine
> the make-backup-file-name function). I also suggest using
> expand-file-name instead of concat to create directory and file names in
> your function.
>
> Using the make-backup-file-name-function variable has the added
> advantage that reading its doc string tells you what else you have to
>
> do:
> | If you define it, you may need to change `backup-file-name-p'
> | and `file-name-sans-versions' too.
>
> So:
>
> (defun backup-file-name-p (file)
> "Return non-nil if FILE is a backup file name (numeric or not)."
> (setq file (expand-file-name file))
> (let ((directory (directory-file-name (file-name-directory file))))
> (and (equal (file-name-nondirectory directory) ".backup~")
> (equal (aref file (1- (length file))) ?~))))
>
next prev parent reply other threads:[~2005-02-18 10:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.286.1108636126.32256.help-gnu-emacs@gnu.org>
2005-02-17 15:27 ` backup files and version control timseal
2005-02-17 19:44 ` Kevin Rodgers
2005-02-18 10:39 ` Heiko Gerdau [this message]
[not found] ` <mailman.452.1108724397.32256.help-gnu-emacs@gnu.org>
2005-02-18 12:44 ` Thien-Thi Nguyen
2005-02-18 14:23 ` Heiko Gerdau
2005-02-17 10:14 Heiko Gerdau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200502181139.38976.hg@technosis.de \
--to=hg@technosis.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).