Переопределить .gitattributes из командной строки - PullRequest
0 голосов
/ 07 января 2019

Есть ли способ временно переопределить атрибуты в git, аналогично тому, как -c можно использовать для переопределения параметров конфигурации?

Я хотел бы вызвать git diff с помощью специальной пользовательской команды textconv, отличной от той, которую я обычно использую.

Чтобы сделать это более конкретным: Мой реальный пример использования для ноутбуков Jupyter, редактируемых в vim с помощью плагина jupytext.vim .

Мой нормальный ~/.gitconfig содержит

[diff "jupyternotebook"]
    command = git-nbdiffdriver diff

, который устанавливает nbdime в качестве драйвера diff, а затем в ~/.gitattributes:

*.ipynb diff=jupyternotebook

Теперь я хотел бы иметь

[diff "jupytext"]
    textconv = jupytext --from=ipynb --to=md -o - <

(или что-то в этом роде) в git config, и git diff действует так, как если бы

*.ipynb diff=jupytext

было в .gitattributes.

Я был бы открыт для постоянного добавления раздела [diff "jupytext"] в мой ~/.gitconfig. Однако использование драйвера «jupytext» вместо «jupyternotebook» по умолчанию должно быть временным, в зависимости от параметра командной строки, переданного в git diff.

В качестве альтернативы, я бы согласился с параметром командной строки git diff, который заставляет его использовать другой файл ~/.gitattributes, который имеет приоритет над всеми другими файлами .gitattributes (например, в том же каталоге).

В конечном счете, опция командной строки предназначена для установки в g:gitgutter_diff_args значения vim-gitgutter. Я хочу заставить плагин конвертировать файлы * .ipynb не так, как я бы обычно хотел конвертировать их с nbdime.

...