Maven release: prepare tagging fails using username and password (svn)


Я попробовал обычное стандартное использование плагина Maven release после онлайн-справки. Но когда я делаю mvn release: prepare, я получаю следующую ошибку (silverfish-это название моего проекта):

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project silverfish: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The svn tag command failed.
[ERROR] Command output:
[ERROR] svn: E200007: Source and destination URLs appear not to point to the same repository.
[ERROR] -> [Help 1]

Вот часть scm от моего pom.xml:

<scm>
    <connection>scm:svn:http://svnuser:passwd@some.address/scm/svn/silverfish</connection>
    <url>http://viewurl</url>
</scm>

Я думаю, что это связано с частью "user / passwd", потому что вывод процесса maven дает:

[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /home/dittrich/NetBeansProjects/silverfish && svn --username svnuser --password '*****' --non-interactive commit --file /tmp/maven-scm-1445257989.commit --targets /tmp/maven-scm-7382722062367813549-targets
[INFO] Working directory: /home/dittrich/NetBeansProjects/silverfish
[INFO] Tagging release with the label silverfish-1.9...
[INFO] Executing: /bin/sh -c cd /home/dittrich/NetBeansProjects/silverfish && svn --username svnuser --password '*****' --non-interactive copy --file /tmp/maven-scm-723027784.commit --revision 106 http://some.address/scm/svn/silverfish 'http://svnuser:passwd@some.address/scm/svn/silverfish/tags/silverfish-1.9'
[INFO] Working directory: /home/dittrich/NetBeansProjects/silverfish

Примечание: часть регистрации работает без проблем, поэтому базовая конфигурация svn, кажется, в порядке.

Это мне кажется, что проблема заключается в том, что maven дает один url-адрес для команды копирования без пароля пользователя (используя ключи --username и --password) и один с (используя user:passwd@sever синтаксис). И subversion тогда думает, что эти URL-адреса не одно и то же.

mvn copy http://some.address/scm/svn/silverfish 'http://svnuser:passwd@some.address/scm/svn/silverfish/tags/silverfish-1.9'

Что я не знаю, является ли это проблемой subversion, потому что subversion должна понимать, что эти URL-адреса, тем не менее, одинаковы. Или проблема Maven, потому что Maven должен использовать тот же синтаксис url?

Кстати, я использую svn, версия 1.7.7 (r1393599) и мой svn север говорят, что это " работает на SVN / 1.7.5 SVNKit / 1.7.5-2 (http://svnkit.com/) t20120724_0758" Apache Maven 3.0.4 Версия Java: 1.6.0_30, производитель: Sun Microsystems Inc.

1 2

1 ответ:

Удалите имя пользователя и пароль из URL-адреса подключения SCM:

<scm>
    <connection>scm:svn:http://some.address/scm/svn/silverfish</connection>
    <url>http://viewurl</url>
</scm>

И добавьте их в плагин release:

<plugin>
    <artifactId>maven-release-plugin</artifactId>
    ...
    <configuration>
        <username>${svn.username}</username>
        <password>${svn.password}</password>
    </configuration>
</plugin>