Перезапускает ли стек 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. Есть ли какой-то демон, ожидающий внесения изменений прямо перед переключением?
Заранее спасибо!