Перезапускает ли стек hpack не только при сборке, но уже при изменении?

Я использую стек с hpack, так что файл генерируется из hpack package.yaml. Часто, когда я хочу переключить ветку, я борюсь с постоянно меняющимся файлом.

  • я бегу git restore *.cabal. Рабочее дерево находится в неустановленном состоянии.
  • Сразу после того, как я бегу git switch branchно получить

ошибка: Ваши локальные изменения в следующих файлах будут перезаписаны при проверке: Package.cabal

  • Сообщение об ошибке правильное, так как изменилось, и теперь есть незафиксированные изменения. Точных обстоятельств я не наблюдал, но вот мой Paths_Packageразличается между ветвями.

Почему это происходит? Делает stackповторный запуск hpackна каждой модификации? Разве недостаточно пересчитать .cabalперед сборкой?

Такое поведение разочаровывает, и то, как я его решаю сейчас, работает как одна команда:

git restore *.cabal && git switch branch

Выше работает. Что это говорит о моменте пересчета?

Важный

Наконец, пересчет может быть запущен из другого источника. Я не помню, откуда это, но мой терминал отображает версию ghc для проекта стека сбоку. Моя единственная идея о том, что вызывает это stack --bash-completion-script. У меня есть конфигурация manjaro zsh по умолчанию со стеком из aur. Есть ли какой-то демон, ожидающий внесения изменений прямо перед переключением?

Заранее спасибо!

0 ответов

Другие вопросы по тегам