Diyelim ki iki dosyam var file1
ve 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 file1
Emacs'ta düzenleme yapıyorum ve örneğin metin içeren bir satır ekleyip bbb
kaydedip 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 vim
veya 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 ~/.emacs
init dosyası. Bunun yerine file1
kullanarak düzenlerseniz , geçerli dizinde (aynı inode sahiptir) bağlanan ama değiştirilmemiş (bu yüzden eski ile aynıdır ) emacs -Q file1
adlı 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~
file2
file1~
file1
file1
file2
(setq backup-by-copying t)
benim~/.emacs
init dosyaya eklemek istendiği gibi çalışır ..