2011-01-27 3 views
3

Я написал hook-commit-msg, который сопоставляет команду Team Foundation идентификаторам рабочих элементов сервера с сообщением Git commit. (При совершении записи появляется список выбора. Пользователи могут выбрать одну или несколько рабочих элементов, а рабочие элементы добавляются в сообщение фиксации с использованием определенного формата. Позже мы используем git log -grep для поиска конкретных коммитов , принадлежащих рабочий элемент).Почему git gui не соблюдает строки комментариев, добавленные git hook?

Я использую комментарии в сообщении фиксации, чтобы предоставить дополнительную информацию . Например, когда Team Foundation Server недоступен, я добавляю следующий комментарий в начало сообщения фиксации .

# Warning: could not access Team Foundation Server at <servername>. 

Поскольку строка начинается с символа #, он не добавляется к фактическому сообщение фиксации ... при использовании Git фиксации.

Если я использую Git GUI, выше комментарий появится в интерфейсе мерзавец графического интерфейса, но является фактически добавлен в мерзавец сообщение фиксации при совершении.

Есть ли конкретная причина, по которой git gui фактически добавляет строки , начиная с знака #? Я ожидал, что он проигнорирует эти строки.

ответ

2

Git вообще не имеет комментариев в сообщениях фиксации, подобных этому. То, что вы имеете в виду, - это особая особенность git commit -e, которая по умолчанию используется, если -m или -F не ​​используются.

git gui, git commit -m и git commit -F все передают сообщение о совершении как точно то, что им было дано.

Поскольку вы используете hook-ready-commit-msg для добавления строк, решение должно заключаться в добавлении крюка commit-msg, который удаляет строки. Ключ commit-msg будет использоваться всеми методами фиксации.

+0

Вы говорите, что git gui принимает сообщение фиксации точно так же, как и указано. Не в моем опыте. Например, попробуйте git commit. Вы увидите строки комментариев в сообщении о фиксации по умолчанию. Эти строки комментариев * отображаются * при использовании git gui. – Sardaukar

+3

Поскольку эти строки комментариев добавляются только тогда, когда git commit запускает редактор. Его не то, что git gui скрывает их, они никогда не добавляются в сообщение фиксации при использовании git gui. – Arrowmaster

+0

Хорошо, это проясняет ситуацию. Благодаря! – Sardaukar

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