Как сделать запрос, чтобы вывести список всех коммитов пользователя в хранилище Subversion? - PullRequest
4 голосов
/ 05 мая 2010

Как мне запросить список всех коммитов пользователя в хранилище Subversion?

Я хотел бы найти все коммиты, которые я когда-либо делал в хранилище Subversion, а не просто коммиты в текущем снимке,Что еще более важно, я хотел бы организовать списки файлов по комментарию SVN, используемому при фиксации.

Я думаю, что, возможно, скрипт Python или оболочки, который будет анализировать вывод

svn log | grep username

визвлеките ревизии, а затем передайте вывод:

 svn log -r [revision numbers go here]

Может быть, некоторые гуру сценариев могут мне помочь ..

Ответы [ 3 ]

2 голосов
/ 05 мая 2010

Я думаю, что следующее было бы хорошей отправной точкой.

svn log -v --xml --with-all-revprops URL_OF_REPO

Он выведет записи в XML-журнале, как показано ниже (сгенерировано в тестовом хранилище).

D:\temp\co-test-repo>svn log -v --xml --with-all-revprops --username AWXGX  file:///d:/svn/repos/test-repo
<?xml version="1.0"?>
<log>
    <logentry
       revision="2">
        <author>AWXGX</author>
        <date>2010-05-05T19:20:34.062500Z</date>
        <paths>
            <path
               kind="file"
               action="A">/src/main/java/org/pers/OtherClass.java</path>
        </paths>
        <msg>add another class</msg>
    </logentry>
    <logentry
       revision="1">
        <author>AWXGX</author>
        <date>2010-05-05T19:20:00.578125Z</date>
        <paths>
            <path
               kind="dir"
               action="A">/src/main/java/org</path>
            <path
               kind="file"
               action="A">/src/main/java/org/pers/SomeClass.java</path>
            <path
               kind="dir"
               action="A">/src</path>
            <path
               kind="file"
               action="A">/pom.xml</path>
            <path
               kind="dir"
               action="A">/src/main</path>
            <path
               kind="dir"
               action="A">/src/main/java</path>
            <path
               kind="dir"
               action="A">/src/main/java/org/pers</path>
        </paths>
        <msg>creation of project files</msg>
    </logentry>
</log>

Затем выполните преобразование XSLT для вывода, как вы хотите. Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: Я удалил --username, который используется только для целей аутентификации, тем не менее, команда все еще может использоваться (я попробовал ее в реальном хранилище). Фильтрация для пользователя должна быть выполнена с использованием XSLT.

0 голосов
/ 05 мая 2010

Есть скрипт contrib/search-svnlog.pl, который будет делать то, что вы хотите.

Вот ссылка на источник на стволе Subversion, но похоже, что он не изменился за последнее время:

http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/search-svnlog.pl

Вот патч для сценария, который я написал, svnlogfilter.pl, который вам, возможно, придется дразнить, чтобы использовать его. Я выложу его где-нибудь в сети RSN.

http://svn.haxx.se/dev/archive-2005-05/0094.shtml

0 голосов
/ 05 мая 2010

Вы можете использовать SVN log и grep для вашего имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...