From 27ef6caa747da2e7bdc19526627d959e50022902 Mon Sep 17 00:00:00 2001 From: kohsuke Date: Thu, 7 Jun 2007 05:46:27 +0000 Subject: [PATCH] implemented tag name suggestion algorithm. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@3403 71c3de6d-444a-0410-be80-ed276b4c234a --- .../java/hudson/scm/SubversionTagAction.java | 19 +++++++++++++++++++ .../scm/SubversionTagAction/tagForm.jelly | 5 ++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/scm/SubversionTagAction.java b/core/src/main/java/hudson/scm/SubversionTagAction.java index 74a315bb97..284e695811 100644 --- a/core/src/main/java/hudson/scm/SubversionTagAction.java +++ b/core/src/main/java/hudson/scm/SubversionTagAction.java @@ -21,6 +21,8 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.regex.Pattern; +import java.util.regex.Matcher; import java.util.Map.Entry; /** @@ -75,6 +77,23 @@ public class SubversionTagAction extends AbstractScmTagAction { return Collections.unmodifiableMap(tags); } + private static final Pattern TRUNK_BRANCH_MARKER = Pattern.compile("/(trunk|branches)(/|$)"); + + /** + * Creates a URL, to be used as the default value of the module tag URL. + * + * @return + * null if failed to guess. + */ + public String makeTagURL(SvnInfo si) { + // assume the standard trunk/branches/tags repository layout + Matcher m = TRUNK_BRANCH_MARKER.matcher(si.url); + if(!m.find()) + return null; // doesn't have 'trunk' nor 'branches' + + return si.url.substring(0,m.start())+"/tags/"+build.getProject().getName()+"-"+build.getNumber(); + } + /** * Invoked to actually tag the workspace. */ diff --git a/core/src/main/resources/hudson/scm/SubversionTagAction/tagForm.jelly b/core/src/main/resources/hudson/scm/SubversionTagAction/tagForm.jelly index 8a96ca9a3f..9a0c54c9c1 100644 --- a/core/src/main/resources/hudson/scm/SubversionTagAction/tagForm.jelly +++ b/core/src/main/resources/hudson/scm/SubversionTagAction/tagForm.jelly @@ -22,7 +22,10 @@ - + + + -- GitLab