2015-06-07 4 views
0

Я перехожу из CVS в git. В CVS я могу использовать $Log$ в разделе моих комментариев, а CVS будет писать комментарии в точке $Log$. Есть ли эквивалент для этого в git?

Я посмотрел и увидел мощную командную строку и дополнительные инструменты, доступные мне, и я завершу их использование, если нет эквивалента, но мне просто интересно, существует ли эквивалент.

ответ

1

Git не поддерживает это проектирование, потому что вы не можете обновить файл с информацией о фиксации после совершения, так как git сначала проверяет файл.

Обходным путем является использование attributes с использованием фильтров «пятно» и «чистый» и пост-фиксация hook. В основном это обновление файла с информацией после его извлечения и удаление информации до ее проверки.

Мое решение (написанное на Python) для $Date$ a $Revision$ ключевых слов (последние реализованы как использовать теги) available on github. Вы должны иметь возможность расширять это для $Log$.

Однако:

Вы должны думать очень тщательно, если вы хотите этого, так как этот подход имеет потенциальные проблемы;

  • Для этого нужны внешние программы.
  • Чтобы использовать его, вы должны установить крючок .
  • Возможно, он не переносится (я не пробовал его в ms-окнах).
  • Это может привести к возникновению циклов, если у вас есть как исходный код, так и скомпилированные программы, зарегистрированные в репо.

И последнее, но не менее важное: git-команды, например, git log и git diff могут предоставить вам гораздо больше информации, чем статическое сообщение в журнале.