Diyelim ki iki dosyam var file1ve file2:
$ echo aaa >file1
$ ln file1 file2
Sonra inode'ların aynı olup olmadığını kontrol ediyorum:
$ ls -i
18749779 file1 18749779 file2
ki bu iki dosyanın aslında aynı olduğunu gösterir. Şimdi file1Emacs'ta düzenleme yapıyorum ve örneğin metin içeren bir satır ekleyip bbbkaydedip Emacs'tan çıkıyorum.
Şimdi anladım:
$ ls -i
18749781 file1 18749779 file2
$ cat file1
aaa
bbb
$ cat file2
aaa
Yani zor bağlantı koptu. Dosyayı düzenlediğimde vimveya basitçe yaptığımda bunun gerçekleşmeyeceğini unutmayın echo bbb >>file1.
Emacs'ın sabit bağlantıları koparmasını nasıl önleyebilirim?
Güncelleme:
Bende
(require 'backup-dir)
(setq bkup-backup-directory-info
'((t "~/.emacs-backups/" ok-create full-path )))
Benim de ~/.emacsinit dosyası. Bunun yerine file1kullanarak düzenlerseniz , geçerli dizinde (aynı inode sahiptir) bağlanan ama değiştirilmemiş (bu yüzden eski ile aynıdır ) emacs -Q file1adlı bir dosya alıyorum .. Bu istediğim değil. Ben hem ve aynı dosya olmak istiyorum ve güncellenmiş dosya içeriğini dahil etmek istiyorum.file1~file2file1~file1file1file2
(setq backup-by-copying t)benim~/.emacsinit dosyaya eklemek istendiği gibi çalışır ..