Как вы видите последние записи журнала SVN?
введя svn log выплевывает невероятно длинный, бесполезный список в командной строке. Я понятия не имею, почему это по умолчанию. Если бы я хотел прочитать (или даже мог прочитать) 300 записей на терминале, я бы не возражал против ввода svn log --full или что-то подобное.
возможно, ребята из SVN думают, что я хотел передать этот вывод в другую программу. Однако, если это так, было бы более разумно иметь более подробный вызов для программы, а не для терминала пользователь.
в любом случае, как я вижу, только некоторые последние действия как последние 5 или 10 записей, чтобы увидеть, что изменилось?
9 ответов:
кроме того, что Берт сказал, что Ф многие команды, в том числе
logимеет-r(или--revisionопции). Ниже приведены некоторые практические примеры использования этой опции для отображения диапазонов ревизий:чтобы перечислить все в порядке возрастания:
svn log -r 1:HEADчтобы перечислить все в порядке убывания:
svn log -r HEAD:1чтобы перечислить все, начиная с тринадцатого до основания текущей извлеченной ревизии по возрастанию порядок:
svn log -r 13:BASEполучить все между заданными датами:
svn log -r {2011-02-02}:{2011-02-03}вы можете объединить все вышеперечисленные выражения с , так что вы можете иметь очень точный контроль над тем, что печатается. Для получения дополнительной информации об этих
-rвыражения относятся кsvn help logили соответствующую главу в книге контроль версий с Subversion
мне нравится использовать
-vдля подробного режима.
Это даст вам идентификатор фиксации, комментарии и все затронутые файлы.svn log -v --limit 4пример вывода:
I added some migrations and deleted a test xml file ------------------------------------------------------------------------ r58687 | mr_x | 2012-04-02 15:31:31 +0200 (Mon, 02 Apr 2012) | 1 line Changed paths: A /trunk/java/App/src/database/support A /trunk/java/App/src/database/support/MIGRATE A /trunk/java/App/src/database/support/MIGRATE/remove_device.sql D /trunk/java/App/src/code/test.xml
чтобы добавить к тому, что сказали другие, вы также можете создать псевдоним в своем .bashrc или .bash_aliases файл:
alias svnlog='svn log -l 30 | less'или что вы хотите по умолчанию
как вы уже заметили
svn logкоманда выполняется без каких-либо аргументов показывает все регистрируйте сообщения, относящиеся к указанному URL-адресу или к папке рабочей копии, в которой выполняется команда.вы всегда можете уточнить/ограничить
svn logрезультаты:
svn log --limit NUMпокажет только первое число ревизий,svn log --revision REV1(:REV2)появится сообщение журнала для пересмотра ред. 1 или ред. 1 -- Диапазон REV2,svn log --searchбудут показаны ревизии, соответствующие указанному шаблону поиска (команда доступна в Subversion 1.8 и более новом клиенте). Вы можете искать по
- автор редакции (т. е. имя пользователя коммиттеров),
- дата, когда пересмотр был совершен,
- текст комментария к пересмотру (сообщение журнала),
- список путей, измененных в редакции.
но журнал svn все еще находится в обратном порядке, т. е. самые последние записи выводятся первыми, прокручиваются в верхней части моего терминала и исчезают. Я очень хочу посмотреть последние записи, т. е. порядок сортировки должен быть хронологическим. Единственная команда, которая делает это, кажется,
svn log -r 1:HEADно это занимает слишком много времени в репозитории с некоторыми 10000 записей. Я придумал вот это:отображение последних 10 записей subversion в хронологическом порядке:
svn log -r $(svn log -l 10 | grep '^r[0-9]* ' | tail -1 | cut -f1 -d" "):HEAD
этот ответ направлен на дальнейшие вопросы, касающиеся опций подкоманд Subversion. Для любой команды (то есть добавить, журнал, состояние ...), вы можете просто добавить
--helpопция для отображения полного списка доступных опций, которые вы можете использовать с вашей подкомандой, а также примеры их использования. Следующий фрагмент взят непосредственно изsvn log --helpвывод команды в разделе "Примеры":Show the latest 5 log messages for the current working copy directory and display paths changed in each commit: svn log -l 5 -v
в случае, если кто-то смотрит на этот старый вопрос, удобная команда, чтобы увидеть изменения с момента последнего обновления:
svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -vLE (спасибо Гэри за комментарий)
то же самое, но гораздо короче и логичнее:
svn log -r BASE:HEAD -v
Comments