Какая команда выполняет запрос к хранилищу Subversion для всех файлов, заблокированных конкретным пользователем? - PullRequest
2 голосов
/ 29 мая 2009

Какая команда выполняет запрос к хранилищу Subversion для всех файлов , извлеченных на заблокированных конкретным пользователем?

Ответы [ 4 ]

3 голосов
/ 29 мая 2009

В подрывной деятельности « выписан » просто означает, что вы сделали локальную рабочую копию некоторой папки в хранилище. Затем вы можете работать в автономном режиме над этой рабочей копией (пока вам не потребуется выполнить какую-либо операцию, требующую связи с хранилищем).

В то время как в автономном режиме вы можете удалить свою рабочую копию в любое время, поэтому у сервера действительно нет возможности узнать, у кого еще есть что-то «извлечено», а у кого нет. <Ч /> edit : То есть вы имели в виду блокировки. Чтобы перечислить все, что заблокировано конкретным пользователем, вы можете использовать немного svn + xml + xslt voodoo. Сначала создайте файл svninfo.xml следующим образом:

    svn info -R --xml http://url/to/project/root >> svninfo.xml

Добавьте этот элемент препроцессора таблицы стилей xslt в файл результатов после <?xml version="1.0"?>

     <?xml-stylesheet type="text/xsl" href="svnlocks.xsl" ?>

Создайте файл svnlocks.xsl с этим содержимым, замените username действительным именем пользователя:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:template match="/">
      <html><body>
      <xsl:apply-templates select="info/entry[lock/owner='username']" />
      </body></html>
   </xsl:template>
   <xsl:template match="entry">
      <xsl:value-of select="@path"/><br/>
   </xsl:template>
</xsl:stylesheet>

Наконец, откройте svninfo.xml со своим любимым браузер.

1 голос
/ 29 мая 2009

используйте svn status , чтобы получить список всех файлов, заблокированных пользователем - я имею в виду все файлы, которые имеют свойство svn: needs-lock и пользователь получил эти блокировки с помощью команды svn lock .

Если вы используете командную строку, вы увидите маркер O на каждом заблокированном файле, запустите svn status --show-updates. Чтобы узнать, кому этот файл заблокирован, используйте svn info . (обратите внимание, если у вас заблокирован файл, статус svn покажет K).

0 голосов
/ 29 мая 2009

Если вы можете использовать svnadmin на компьютере хранилища, то вы можете использовать svnadmin lslocks <repo>, чтобы получить сведения обо всех блокировках, хранящихся в этом хранилище. Оттуда вы можете написать что-то для фильтрации по имени пользователя.

См. Книга Subversion: расширенные блокировки (взлом и кража замков) для получения дополнительной информации.

0 голосов
/ 29 мая 2009

Вы имеете в виду поиск файлов заблокированных конкретным пользователем? Потому что вы не можете искать файлы, извлеченные конкретным пользователем (без проверки домашнего каталога этого пользователя).

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