Как отобразить коммиты конкретного пользователя в SVN? Я не нашел никаких переключателей для этого для журнала SVN.
svn
bash
version-control
mimrock
источник
источник
--search
опцию с Subversion 1.8 или более новым клиентом.Ответы:
Вы можете использовать это:
Он покажет вам каждый коммит, сделанный указанным пользователем (USERNAME).
ОБНОВИТЬ
Как предполагает @bahrep, Subversion 1.8 поставляется с
--search
опцией.источник
p
).svn log
на рабочей копии. Вы также можете указать хранилище, то естьsvn log https://your-svn-repo
.--search
опцию.С Subversion 1.8 или новее:
Помимо совпадений авторов, это также включает SVN-коммиты, которые содержат это имя пользователя в сообщении фиксации, что не должно происходить, если ваше имя пользователя не является общим словом.
-l 50
Будет ограничить поиск последних 50 записей.http://svnbook.red-bean.com/en/1.8/svn.ref.svn.html#svn.ref.svn.sw.search
источник
svn log --search foo --search bar -l 30
.If multiple --search options are provided, a log message is shown if it matches any of the provided search patterns.
SVN не поставляется со встроенными опциями для этого. У него есть
svn log --xml
опция, позволяющая вам разобрать вывод самостоятельно и получить интересные детали.Вы можете написать скрипт для его анализа, например, в Python 2.6:
Если вы сохраните вышеупомянутое как svnLogStripByAuthor.py, вы можете вызвать его как:
источник
Поскольку все, кажется, склоняются к Linux (и др.): Вот эквивалент Windows:
источник
работает по большей части.
Или чтобы быть более точным:
источник
-A
для отображения контекста, но это число статическое, тогда как сообщение фиксации имеет переменную длину. Вы можете сделать решение с помощью sed или аналогичного, но это усилие. : P| awk '{ print "-" $1 }' | xargs svn log
В то время как решение yvoyer работает нормально, здесь один из них использует вывод XML SVN, анализируя его
xmlstarlet
.Отсюда вы можете перейти к более сложным XML-запросам.
источник
Вот мое решение с использованием xslt. Однако, к сожалению, xsltproc не является потоковым процессором, поэтому вы должны указать ограничение log. Пример использования:
svnLogFilter.xslt
svnLogText.xslt
источник
Начиная с Subversion 1.8, вы можете использовать
--search
и параметры--search-and
командной строки сsvn log
командой .Так что все должно быть так же просто, как бегать
svn log --search JohnDoe
.источник
Вы можете использовать Perl для фильтрации журнала по имени пользователя и поддержки сообщений коммита. Просто установите переменную $ /, которая решает, что представляет собой «строку» в Perl. Если вы установите это в качестве разделителя записей журнала SVN, Perl будет читать по одной записи за раз, и тогда вы сможете сопоставить имя пользователя во всей записи. Увидеть ниже:
источник
Чтобы получить различия вместе с регистрацией.
Получить номера ревизий в файл:
Теперь прочитайте файл и выполните diff для каждой ревизии:
источник
Я должен был написать скрипт на Python:
и использовать:
источник