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 ответ:
Удалите имя пользователя и пароль из 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>