TGViewer
Александр Кунташов — про 1С и не только Александр Кунташов — про 1С и не только @kuntashov_devnotes · 2.56K subscribers
Post #337 3.42K
🔨 git diff и cp1251 (настройка пейджера)

Перевожу один древний веб-проект с CVS на GIT, а он в кодировке cp1251, т.к. создавался во времена, когда UTF-8 только-только входила в обиход. Сконвертировать проект в UTF-8 пока нельзя, т.к. продуктовый сервер тоже из тех времен и тоже не поддерживает правильной кодировки.

Чтобы diff в консоли выводился в UTF-8, в GIT можно задать свою команду вызова пейджера вот таким образом:

git config --local core.pager "iconv -f cp1251 -t utf-8 | less"

т.е. перед вызовом пейджера less я вызываю iconv для перекодировки вывода и ее результат уже через пайп отдаю пейджеру.

Но вот незадача: комментарии к коммитам у нас в проекте в UTF-8, чтобы в веб-интерфейсе сервера управления репозиториями (у нас GOGS) они отображались правильно. А указанная выше настройка пейджера действует глобально на все команды, в результате git diff у нас показывает русский текст правильно, а git log — кракозябры.

Оказывается, для каждой команды GIT'а пейджер можно настроить отдельно, в частности, для решения моей проблемы в дополнение к указанной выше настройке нужно сделать:

git config --local pager.log less

Т.е. для всех команд (diff, blame etc) выполняется конвертация из cp1251 в UTF-8, а для команды log конвертация не выполняется.

Пейджер можно вообще отключить, указав вместо команды пейджера значение false. Например, у нас список тэгов небольшой и удобнее, когда он сразу весь в консоль выводится, поэтому я пейджер для команды git tag отключил:

git config --local pager.tag false

Все настройки можно указать и вручную прямо в .git/config репозитория. Например, после выполнения указанных выше команд в этом файле настройки будут такие (все, что не относится к пейджингу, я пропускаю):

[core]
...
pager = iconv -f cp1251 -t utf-8 | less
...

[pager]
log = less
tag = false

#Инструменты #Лайфхак
More from @kuntashov_devnotes
  1. Sep 28, 2026Что с кожаными сотрудниками, что с цифровыми вопрос "А не фигню ли мы делаем?" остается ак…
  2. Sep 10, 2026Post #749
  3. Aug 28, 2026✍️ Humanizer для русского языка от Сарычевой Внезапно на пост про grilling получил много о…
  4. Aug 17, 2026Может ли AI написать автотест для 1С: демонстрация Vanessa Automation Vanessa Automation –…
  5. Aug 13, 2026🔥 grill-me: как «прожарить» идею или требование при помощи ИИ до начала разработки Вижу,…
  6. Jun 22, 2026🎙 Продолжаем знакомить вас с модераторами INFOSTART TECH EVENT 2026 и их докладами Алекса…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →