s3fs emacs uchun juda sekin

S3fs FUSE fayl tizimi va autof'lardan foydalanib, Amazon S3 paqiridan foydalanib ulanish nuqtasini o'rnatdim, ammo emacs-da chelakdagi faylni tartibga solish uchun asta-sekin ishlaydi - bu har qanday tugmachadan keyin kechikishlar tufayli asosan foydasizdir. emacs I/U tugaguniga qadar to'liq to'xtatib qo'yishi mumkin.

Ushbu muammoning oldini olish uchun nima qilishim kerak?

1

2 javoblar

Bu men foydalanadigan langerda bu muammo ga bog'liq.

Ushbu vaqtinchalik echimdan foydalanish masalasiga izohda taklifni kuzatdim:

(add-hook 'find-file-hook
          (lambda ()
            (if (locate-dominating-file default-directory ".git")
                (projectile-mode))))

ya'ni olib tashlash

(global-projectile-mode)

( .emacs ) va uni yuqoridagi kod bilan almashtirish va ishlashni endi qabul qilish mumkin (faylni ochish uchun kechikish bo'ladi va faylni tahrir qilishni boshlaydigan birinchi tugmani bosing kutish). Bu mudhish faqat git loyihalarida faollashtirilganligini anglatadi, ammo bu men uchun juda yaxshi - va agar kerak bo'lsa, aynan o'sha vaqt mobaynida boshqa versiya boshqaruv tizimlariga osonlikcha kengaytirilishi mumkin.

1
qo'shib qo'ydi

Dastlab bu sodda Linux skriptini faylni tezroq faylga nusxalash va undan keyin uni qayta nusxalash uchun foydalanar edim (hozir qilayotganim uchun boshqa javobni ko'ring). Faqat TMP = bilan boshlangan chiziq boshqa operatsion tizimlar uchun o'zgartirilishi kerak. Faqat engil murakkablik, turli xil S3 chelaklarda bir xil nomlangan fayllarga bir vaqtning o'zida tuzatishlar bilan shug'ullanadi (fayl nomi tasodifiy hosil bo'lgan axlat bilan almashtirilmasdan, bu oson yo'l bo'lishi mumkin).

#! /bin/bash -peux
# Edit files from slow filesystems in emacs
TMP=/run/user/$(id -u)
dest=$TMP/"$(basename "$1")"
src_dir="$(dirname "$1")"
prefix=""
while [ -e "$dest" ]; do
    prefix="$(basename "$src_dir")/$prefix"
    src_dir="$(dirname "$src_dir")"
    if [ "$src_dir" = "/" ]; then
        echo Unable to generate unique filename >&2
        exit 2
    fi
    mkdir $TMP/"$prefix" || :
    dest=$TMP/"$prefix$(basename "$1")"
done
cp -p "$1" $dest || :
emacsclient "$dest"
cp -pu "$dest" "$1"
rm "$dest"
0
qo'shib qo'ydi
Bunga erishish mumkinmi?
qo'shib qo'ydi muallif Mark Ireland, manba
Bunga o'xshamaydi - s3 xususiy protokoli ishlatadi.
qo'shib qo'ydi muallif Robin Green, manba