com.atlassian.bamboo.plugins.hg
Class HgRepositoryAccessImpl
java.lang.Object
com.atlassian.bamboo.plugins.hg.HgRepositoryAccessImpl
- All Implemented Interfaces:
- HgRepositoryAccess
@NotThreadSafe
public class HgRepositoryAccessImpl
- extends java.lang.Object
- implements HgRepositoryAccess
Method Summary |
void |
archiveSourceCode(java.io.File destinationDirectory,
java.io.File cacheDirectory,
java.lang.String vcsRevision,
java.lang.String[] includePattern)
"Archive" (as in svn export) contents of specified revision, applying specified --include pattern |
void |
close()
Cleans up resources, connections, etc... |
BuildRepositoryChanges |
collectChangesSinceLastBuild(java.io.File cacheDirectory,
java.lang.String previousVcsRevisionKey)
Checks whether remote repository has newer revision(s). |
CommitContext |
getFirstCommit(java.io.File cacheDirectory)
|
CommitContext |
getLastCommit(java.io.File cacheDirectory)
|
java.lang.String |
retrieveSourceCode(java.io.File sourceDirectory,
java.io.File cacheDirectory,
java.lang.String vcsRevision)
Updates sources in sourceDirectory from remote repository to targetRevision. |
java.lang.String |
retrieveSourceCode(java.io.File sourceDirectory,
java.io.File cacheDirectory,
java.lang.String vcsRevision,
int attempt)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_SSH_COMMAND
public static final java.lang.String DEFAULT_SSH_COMMAND
- See Also:
- Constant Field Values
HgRepositoryAccessImpl
public HgRepositoryAccessImpl(com.opensymphony.xwork.TextProvider textProvider,
BuildLogger buildLogger,
SshProxyService sshProxyService,
HgRepository repository)
throws RepositoryException
- Throws:
RepositoryException
collectChangesSinceLastBuild
public BuildRepositoryChanges collectChangesSinceLastBuild(@NotNull
java.io.File cacheDirectory,
@Nullable
java.lang.String previousVcsRevisionKey)
throws RepositoryException
- Description copied from interface:
HgRepositoryAccess
- Checks whether remote repository has newer revision(s). If pullAndCollect is true then updates
local cache directory and returns changesets since last checked revision
- Specified by:
collectChangesSinceLastBuild
in interface HgRepositoryAccess
- Parameters:
cacheDirectory
- specifies where to store updated repository. Perfectly it should be the 'cache' directory
holding shared repository for all plans using the same repository URLpreviousVcsRevisionKey
- specifies since which revision we want to collect changesets
- Returns:
- BuildChanges object which will have filled vcsRevisionKey with newest revision from remote repository. If pullAndCollect is
true then BuildChanges will have filled changes with repository changesets between previousRevision and newest revision
- Throws:
RepositoryException
retrieveSourceCode
public java.lang.String retrieveSourceCode(@NotNull
java.io.File sourceDirectory,
@Nullable
java.io.File cacheDirectory,
@Nullable
java.lang.String vcsRevision)
throws RepositoryException
- Description copied from interface:
HgRepositoryAccess
- Updates sources in sourceDirectory from remote repository to targetRevision. Extracts changesets since previousRevision and stores them
in collectedChangesetsReceiver. If cacheDirectory is not null it will use it as a mid-repository. Otherwise will pull from remote repository
directly.
- Specified by:
retrieveSourceCode
in interface HgRepositoryAccess
- Parameters:
sourceDirectory
- specifies where we want to retrieve sourcescacheDirectory
- specifies where is kept local cache directory, which will hold presumably a more updated repository than sourceDirectory.vcsRevision
- specifies since which revision we want to collect changesets
- Returns:
- targetRevision
- Throws:
RepositoryException
retrieveSourceCode
public java.lang.String retrieveSourceCode(@NotNull
java.io.File sourceDirectory,
@Nullable
java.io.File cacheDirectory,
@Nullable
java.lang.String vcsRevision,
int attempt)
throws RepositoryException
- Throws:
RepositoryException
archiveSourceCode
public void archiveSourceCode(@NotNull
java.io.File destinationDirectory,
@NotNull
java.io.File cacheDirectory,
@NotNull
java.lang.String vcsRevision,
@Nullable
java.lang.String[] includePattern)
throws RepositoryException
- Description copied from interface:
HgRepositoryAccess
- "Archive" (as in svn export) contents of specified revision, applying specified --include pattern
Differs from {link #retrieveSourceCode} by not cloning the repository first (think "svn checkout" vs. "svn export")
- Specified by:
archiveSourceCode
in interface HgRepositoryAccess
- Parameters:
destinationDirectory
- directory to extract files tocacheDirectory
- local repository to extract fromvcsRevision
- revision to extract, tip if nullincludePattern
- include patterns to limit extracted files, all files if null or empty
- Throws:
RepositoryException
- on any error
close
public void close()
- Description copied from interface:
HgRepositoryAccess
- Cleans up resources, connections, etc...
- Specified by:
close
in interface HgRepositoryAccess
getLastCommit
public CommitContext getLastCommit(@NotNull
java.io.File cacheDirectory)
throws RepositoryException
- Specified by:
getLastCommit
in interface HgRepositoryAccess
- Throws:
RepositoryException
getFirstCommit
public CommitContext getFirstCommit(@NotNull
java.io.File cacheDirectory)
throws RepositoryException
- Specified by:
getFirstCommit
in interface HgRepositoryAccess
- Throws:
RepositoryException
Copyright © 2012 Atlassian. All Rights Reserved.