Я настраиваю свой журнал мерзавца, чтобы быть всеми в 1 строке. А именно, я добавил следующий псевдоним:
lg = log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%an%Creset - %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
Так, когда я работаю git lg
, Я вижу следующее:
* 41a49ad - zain - commit 1 message here (3 hours ago)
* 6087812 - zain - commit 2 message here (5 hours ago)
* 74842dd - zain - commit 3 message here (6 hours ago)
Однако я хочу добавить число пересмотра SVN там также, таким образом, это смотрит что-то как:
* 41a49ad - r1593 - zain - commit 1 message here (3 hours ago)
Нормальное git log
шоу Вы число пересмотра SVN, таким образом, я уверен, что это должно быть возможно. Как я делаю это?
Когда вы говорите, что «обычный git log
показывает вам номер ревизии SVN», я думаю, вы имеете в виду, что вы имеете дело с репозиторием, управляемым git svn
, который по умолчанию добавляет строку, подобную этой, в конце синхронизированных фиксаций:
git-svn-id: svn://path/to/repository@###### <domain>
Теперь, что касается git, это просто случайный текст, поэтому я сомневаюсь, что вы можете найти доступ %
, чтобы прочитать номер ревизии ####
оттуда.
На этом этапе лучшим вариантом будет просто разобрать выходные данные простого git log
самостоятельно. Вот грубая отправная точка:
git log -z | tr '\n\0' ' \n' | sed 's/\(commit \S*\) .*git-svn-id: svn:[^@]*@\([0-9]*\) .*/\1 r\2/'
Рассмотрим команду git svn
git log
: git svn log
опция find-rev
(для получения версии SVN из ключа SHA1) (введена в git 1.6.0 ) Я не уверен, что вы можете объединить эти две опции в одну командная строка хотя.
Сценарий (немного похожий на этот , который не совсем то, что вам нужно, но все же может дать некоторое представление), возможно, подойдет.
sdaau добавляет в комментарии :
Пример этого:
git svn find-rev $(git log --max-count 1 --pretty=format:%H)
Adversus добавляет в комментарии :
Обратите внимание, что
find-rev
выполняет поиск в текущей ветке, поэтому, если вы находитесь вmaster
иrxyz
произошло в ветке,find-rev
будет не найти.
Вы можете указать параметры-B
(до) или-A
(после) для более широкого поиска, см.git svn find-rev
раздел страницы руководства .