2012-02-10 5 views
5

Один из моих коллег недавно заметили несоответствие между нормальным git log команды, а и следующий псевдоним:Почему некоторые git-транзакции скрыты внутри оболочки cygwin?

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative 

После немного тыкать, мы обнаружили, что это может быть связано с Cygwin Баш.

Вот наши результаты:

  • git log --graph

    все совершает видимые

  • git log --oneline

    некоторые коммиты недостающие ... хорошо! давайте подготовить отчет об ошибке, перенаправив вывод в текстовый файл:

  • git log --oneline > test.txt

    Увы, все коммиты видны в test.txt?!? Давайте расследуем дальше, разделив псевдоним. Удаление цветовые коды:

  • git log --graph --pretty=format:'%h - %d %s (%cr) <%an>'

    некоторые коммиты отсутствует. Поэтому она должна быть одна из переменных ...

[... некоторые frobnications позже ...]

  • git log --graph --pretty=format:'%h - %d %s (%cr)'

    все совершает видимый

  • git log --graph --pretty=format:'%h - %d %s <%an>'

    все совершает видимые

кажется поломки после некоторых комбинаций переменных. В этом случае (%cr) <%an>

Я также пробовал один и тот же репозиторий на linux и там, он работает как ожидалось (т. Е. Все коммиты отображаются в журнале).

Мы хотели бы знать, почему это происходит.

+1

вы пытаетесь избежать «ли '>' 'и' '<' в определении псевдонима, чтобы увидеть, работает ли команда на сеансе Cygwin лучше? – VonC

+0

Снятие угловых кронштейнов не решило проблему. Как ни странно, теперь в журнале появляется еще одна фиксация. Но они все еще не все. – exhuma

+0

Хорошо, просто проверяю. – VonC

ответ

1

Попробуйте их, чтобы стать ближе к делу:

  • использование Cygwin с другим терминалом, скажем, Xterm или mintty.
  • set (или unset?) $PAGER и посмотреть, как это влияет на ошибку.
  • если $PAGER является less, сохранить журнал изнутри less (S), и/или -R, чтобы включить/выключить обработку ANSI ускользает, если у вас есть цвет на.
  • попробовать с --no-цвета, если у вас есть цвет на
  • проверить региональные настройки, $LC_ALL, $LANG и т.д. попробовать

LANG=C git log и т.д.

Смежные вопросы