Max Arnold (lwarx) wrote in ru_emacs,
Max Arnold
lwarx
ru_emacs

Как отключить DVC полностью или частично при работе через tramp?

Пользуюсь режимом DVC исключительно локально и сильно бесит когда при открытии файлов через Tramp он пытается искать все известные ему типы репозиториев. Сетевые условия таковы что до некоторых машин сетевая задержка начинается от 200мс и совсем всё плохо когда доступ в интернет есть только через сотовый 3G модем.

Пока что удалось сократить количество используемых backend'ов:
(require 'dvc-autoloads)
(setq dvc-registered-backends '(xhg xgit bzr))
А в идеале хотелось бы при доступе к удалённым файлам через tramp либо вообще отключить dvc (предпочтительно), либо оставить только один xhg.

При открытии каждого файла dvc пытается делать примерно вот такое, причём можно заметить что каждая директория ищется по два раза (в данном случае Tramp использует Ange-FTP, но через ssh думаю всё аналогично):
ftp> type ascii
200 Type set to A.
ftp> cd /../_MTN/
501 "/../_MTN/": Invalid path
ftp> cd /../_MTN/
501 "/../_MTN/": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../.hg/
501 "/../.hg/": Invalid path
ftp> cd /../.hg/
501 "/../.hg/": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../.git/
501 "/../.git/": Invalid path
ftp> cd /../.git/
501 "/../.git/": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../_darcs/
501 "/../_darcs/": Invalid path
ftp> cd /../_darcs/
501 "/../_darcs/": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /../
501 "/../": Invalid path
ftp> cd /example.com/www/\{arch\}/\=tagging-method/
550 "/example.com/www/{arch}/=tagging-method/": Access denied.
ftp> cd /example.com/www/\{arch\}/\=tagging-method/
550 "/example.com/www/{arch}/=tagging-method/": Access denied.
ftp> cd /example.com/www/\{arch\}/
550 "/example.com/www/{arch}/": Access denied.
ftp> cd /example.com/www/\{arch\}/
550 "/example.com/www/{arch}/": Access denied.
ftp> cd /example.com/\{arch\}/\=tagging-method/
550 "/example.com/{arch}/=tagging-method/": Access denied.
ftp> cd /example.com/\{arch\}/\=tagging-method/
550 "/example.com/{arch}/=tagging-method/": Access denied.
ftp> cd /example.com/\{arch\}/
550 "/example.com/{arch}/": Access denied.
ftp> cd /example.com/\{arch\}/
550 "/example.com/{arch}/": Access denied.
ftp> cd /\{arch\}/\=tagging-method/
550 "/{arch}/=tagging-method/": Access denied.
ftp> cd /\{arch\}/\=tagging-method/
550 "/{arch}/=tagging-method/": Access denied.
ftp> cd /\{arch\}/
550 "/{arch}/": Access denied.
ftp> cd /\{arch\}/
550 "/{arch}/": Access denied.
ftp> cd /../\{arch\}/\=tagging-method/
501 "/../{arch}/=tagging-method/": Invalid path
ftp> cd /../\{arch\}/\=tagging-method/
501 "/../{arch}/=tagging-method/": Invalid path
ftp> cd /../\{arch\}/
501 "/../{arch}/": Invalid path
ftp> cd /../\{arch\}/
501 "/../{arch}/": Invalid path
ftp> cd /example.com/www/.bzr/checkout/
550 "/example.com/www/.bzr/checkout/": Access denied.
ftp> cd /example.com/www/.bzr/checkout/
550 "/example.com/www/.bzr/checkout/": Access denied.
ftp> cd /example.com/www/.bzr/
550 "/example.com/www/.bzr/": Access denied.
ftp> cd /example.com/www/.bzr/
550 "/example.com/www/.bzr/": Access denied.
ftp> cd /example.com/.bzr/checkout/
550 "/example.com/.bzr/checkout/": Access denied.
ftp> cd /example.com/.bzr/checkout/
550 "/example.com/.bzr/checkout/": Access denied.
ftp> cd /example.com/.bzr/
550 "/example.com/.bzr/": Access denied.
ftp> cd /example.com/.bzr/
550 "/example.com/.bzr/": Access denied.
ftp> cd /.bzr/checkout/
550 "/.bzr/checkout/": Access denied.
ftp> cd /.bzr/checkout/
550 "/.bzr/checkout/": Access denied.
ftp> cd /.bzr/
550 "/.bzr/": Access denied.
ftp> cd /.bzr/
550 "/.bzr/": Access denied.
ftp> cd /../.bzr/checkout/
501 "/../.bzr/checkout/": Invalid path
ftp> cd /../.bzr/checkout/
501 "/../.bzr/checkout/": Invalid path
ftp> cd /../.bzr/
501 "/../.bzr/": Invalid path
ftp> cd /../.bzr/
501 "/../.bzr/": Invalid path
Нашёл на EmacsWiki страничку http://www.emacswiki.org/emacs/TrampMode где подобное делается для дефолтного vc-mode (см. defadvice vc-svn-registered), может кто подскажет как можно соорудить что-то подобное для dvc? Патчить не хотелось бы...
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments