hudson.scm
Class BlameSubversionSCM

java.lang.Object
  extended by hudson.scm.SCM
      extended by hudson.scm.BlameSubversionSCM
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.scm.SCM>, Serializable

public class BlameSubversionSCM
extends hudson.scm.SCM
implements Serializable

Blame Subversion SCM. Modify: changed by tang

Author:
tang,Kohsuke Kawaguchi
See Also:
Serialized Form

Nested Class Summary
static class BlameSubversionSCM.DescriptorImpl
           
static class BlameSubversionSCM.ModuleLocation
          small structure to store local and remote (repository) location information of the repository.
static class BlameSubversionSCM.SvnInfo
           
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Field Summary
static int DEFAULT_TIMEOUT
          Network timeout in milliseconds.
 
Fields inherited from class hudson.scm.SCM
PERMISSIONS, TAG
 
Constructor Summary
BlameSubversionSCM(boolean alwaysCollectSVNInfo)
           
 
Method Summary
 void buildEnvVars(hudson.model.AbstractBuild<?,?> build, Map<String,String> env)
          Sets the SVN_REVISION environment variable during the build.
 hudson.scm.SCMRevisionState calcRevisionsFromBuild(hudson.model.AbstractBuild<?,?> build, hudson.Launcher launcher, hudson.model.TaskListener listener)
           
 boolean checkout(hudson.model.AbstractBuild build, hudson.Launcher launcher, hudson.FilePath workspace, hudson.model.BuildListener listener, File changelogFile)
           
protected  hudson.scm.PollingResult compareRemoteRevisionWith(hudson.model.AbstractProject<?,?> project, hudson.Launcher launcher, hudson.FilePath workspace, hudson.model.TaskListener listener, hudson.scm.SCMRevisionState baseline)
           
 hudson.scm.ChangeLogParser createChangeLogParser()
           
static org.tmatesoft.svn.core.wc.SVNClientManager createSvnClientManager(hudson.model.AbstractProject context)
          Creates SVNClientManager for code running on the master.
static org.tmatesoft.svn.core.wc.SVNClientManager createSvnClientManager(org.tmatesoft.svn.core.auth.ISVNAuthenticationProvider authProvider)
          Creates SVNClientManager.
static void enableSshDebug(Level level)
          Enables trace logging of Ganymed SSH library.
 boolean getAlwaysCollectSVNInfo()
           
 BlameSubversionSCM.DescriptorImpl getDescriptor()
           
 String getExcludedCommitMessages()
           
 String[] getExcludedCommitMessagesNormalized()
           
 String getExcludedRegions()
           
 String[] getExcludedRegionsNormalized()
           
 String getExcludedRevprop()
           
 String getExcludedUsers()
           
 Set<String> getExcludedUsersNormalized()
           
 String getIncludedRegions()
           
 String[] getIncludedRegionsNormalized()
           
 BlameSubversionSCM.ModuleLocation[] getLocations()
          list of all configured svn locations
 BlameSubversionSCM.ModuleLocation[] getLocations(hudson.model.AbstractBuild<?,?> build)
          list of all configured svn locations, expanded according to build parameters values;
 hudson.FilePath getModuleRoot(hudson.FilePath workspace)
           
 hudson.FilePath[] getModuleRoots(hudson.FilePath workspace)
           
 String getModules()
          Deprecated. as of 1.91. Use getLocations() instead.
static File getRevisionFile(hudson.model.AbstractBuild build)
          Gets the file that stores the revision.
static void init()
           
 boolean isDoRevert()
           
 boolean isUseUpdate()
           
 boolean repositoryLocationsNoLongerExist(hudson.model.AbstractBuild<?,?> build, hudson.model.TaskListener listener)
           
 boolean requiresWorkspaceForPolling()
          Polling can happen on the master and does not require a workspace.
 
Methods inherited from class hudson.scm.SCM
_calcRevisionsFromBuild, _for, all, createEmptyChangeLog, getApi, getBrowser, getEffectiveBrowser, getModuleRoot, getModuleRoots, getType, nullify, poll, pollChanges, processWorkspaceBeforeDeletion, supportsPolling
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TIMEOUT

public static int DEFAULT_TIMEOUT
Network timeout in milliseconds. The main point of this is to prevent infinite hang, so it should be a rather long value to avoid accidental time out problem.

Constructor Detail

BlameSubversionSCM

@DataBoundConstructor
public BlameSubversionSCM(boolean alwaysCollectSVNInfo)
Method Detail

getAlwaysCollectSVNInfo

public boolean getAlwaysCollectSVNInfo()

getModules

public String getModules()
Deprecated. as of 1.91. Use getLocations() instead.


getLocations

@Exported
public BlameSubversionSCM.ModuleLocation[] getLocations()
list of all configured svn locations

Since:
1.91

getLocations

public BlameSubversionSCM.ModuleLocation[] getLocations(hudson.model.AbstractBuild<?,?> build)
list of all configured svn locations, expanded according to build parameters values;

Parameters:
build - If non-null, variable expansions are performed against the build parameters.
Since:
1.252

isUseUpdate

@Exported
public boolean isUseUpdate()

isDoRevert

@Exported
public boolean isDoRevert()

getExcludedRegions

@Exported
public String getExcludedRegions()

getExcludedRegionsNormalized

public String[] getExcludedRegionsNormalized()

getIncludedRegions

@Exported
public String getIncludedRegions()

getIncludedRegionsNormalized

public String[] getIncludedRegionsNormalized()

getExcludedUsers

@Exported
public String getExcludedUsers()

getExcludedUsersNormalized

public Set<String> getExcludedUsersNormalized()

getExcludedRevprop

@Exported
public String getExcludedRevprop()

getExcludedCommitMessages

@Exported
public String getExcludedCommitMessages()

getExcludedCommitMessagesNormalized

public String[] getExcludedCommitMessagesNormalized()

buildEnvVars

public void buildEnvVars(hudson.model.AbstractBuild<?,?> build,
                         Map<String,String> env)
Sets the SVN_REVISION environment variable during the build.

Overrides:
buildEnvVars in class hudson.scm.SCM

requiresWorkspaceForPolling

public boolean requiresWorkspaceForPolling()
Polling can happen on the master and does not require a workspace.

Overrides:
requiresWorkspaceForPolling in class hudson.scm.SCM

checkout

public boolean checkout(hudson.model.AbstractBuild build,
                        hudson.Launcher launcher,
                        hudson.FilePath workspace,
                        hudson.model.BuildListener listener,
                        File changelogFile)
                 throws IOException,
                        InterruptedException
Specified by:
checkout in class hudson.scm.SCM
Throws:
IOException
InterruptedException

compareRemoteRevisionWith

protected hudson.scm.PollingResult compareRemoteRevisionWith(hudson.model.AbstractProject<?,?> project,
                                                             hudson.Launcher launcher,
                                                             hudson.FilePath workspace,
                                                             hudson.model.TaskListener listener,
                                                             hudson.scm.SCMRevisionState baseline)
                                                      throws IOException,
                                                             InterruptedException
Specified by:
compareRemoteRevisionWith in class hudson.scm.SCM
Throws:
IOException
InterruptedException

createSvnClientManager

public static org.tmatesoft.svn.core.wc.SVNClientManager createSvnClientManager(org.tmatesoft.svn.core.auth.ISVNAuthenticationProvider authProvider)
Creates SVNClientManager.

This method must be executed on the slave where svn operations are performed.

Parameters:
authProvider - The value obtained from BlameSubversionSCM.DescriptorImpl.createAuthenticationProvider(AbstractProject) . If the operation runs on slaves, (and properly remoted, if the svn operations run on slaves.)

createSvnClientManager

public static org.tmatesoft.svn.core.wc.SVNClientManager createSvnClientManager(hudson.model.AbstractProject context)
Creates SVNClientManager for code running on the master.

CAUTION: this code only works when invoked on master. On slaves, use createSvnClientManager(ISVNAuthenticationProvider) and get ISVNAuthenticationProvider from the master via remoting.


getRevisionFile

public static File getRevisionFile(hudson.model.AbstractBuild build)
Gets the file that stores the revision.


calcRevisionsFromBuild

public hudson.scm.SCMRevisionState calcRevisionsFromBuild(hudson.model.AbstractBuild<?,?> build,
                                                          hudson.Launcher launcher,
                                                          hudson.model.TaskListener listener)
                                                   throws IOException,
                                                          InterruptedException
Specified by:
calcRevisionsFromBuild in class hudson.scm.SCM
Throws:
IOException
InterruptedException

createChangeLogParser

public hudson.scm.ChangeLogParser createChangeLogParser()
Specified by:
createChangeLogParser in class hudson.scm.SCM

getDescriptor

public BlameSubversionSCM.DescriptorImpl getDescriptor()
Specified by:
getDescriptor in interface hudson.model.Describable<hudson.scm.SCM>
Overrides:
getDescriptor in class hudson.scm.SCM

getModuleRoot

public hudson.FilePath getModuleRoot(hudson.FilePath workspace)
Overrides:
getModuleRoot in class hudson.scm.SCM

getModuleRoots

public hudson.FilePath[] getModuleRoots(hudson.FilePath workspace)
Overrides:
getModuleRoots in class hudson.scm.SCM

repositoryLocationsNoLongerExist

public boolean repositoryLocationsNoLongerExist(hudson.model.AbstractBuild<?,?> build,
                                                hudson.model.TaskListener listener)

init

public static void init()

enableSshDebug

public static void enableSshDebug(Level level)
Enables trace logging of Ganymed SSH library.

Intended to be invoked from Groovy console.



Copyright © 2004-2012 Hudson. All Rights Reserved.