Class GitRepository
- java.lang.Object
-
- pl.allegro.tech.build.axion.release.infrastructure.git.GitRepository
-
- All Implemented Interfaces:
ScmRepository
public class GitRepository extends java.lang.Object implements ScmRepository
-
-
Constructor Summary
Constructors Constructor Description GitRepository(ScmProperties properties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattachRemote(java.lang.String remoteName, java.lang.String remoteUrl)booleancheckAheadOfRemote()booleancheckUncommittedChanges()voidcommit(java.util.List<java.lang.String> patterns, java.lang.String message)ScmPositioncurrentPosition()voiddropTag(java.lang.String tagName)voidfetchTags(ScmIdentity identity, java.lang.String remoteName)This fetch method behaves like git fetch, meaning it only fetches thing without merging.org.eclipse.jgit.api.GitgetJgitRepository()java.lang.BooleanisIdenticalForPath(java.lang.String path, java.lang.String latestChangeRevision, java.lang.String tagCommitRevision)booleanisLegacyDefTagnameRepo()java.util.List<java.lang.String>lastLogMessages(int messageCount)TagsOnCommitlatestTags(java.util.List<java.util.regex.Pattern> patterns)TagsOnCommitlatestTags(java.util.List<java.util.regex.Pattern> patterns, java.lang.String sinceCommit)org.eclipse.jgit.api.StatuslistChanges()ScmPositionpositionOfLastChangeIn(java.lang.String path, java.util.List<java.lang.String> excludeSubFolders, java.util.Set<java.lang.String> dependenciesFolders)ScmPushResultpush(ScmIdentity identity, ScmPushOptions pushOptions)ScmPushResultpush(ScmIdentity identity, ScmPushOptions pushOptions, boolean all)booleanremoteAttached(java.lang.String remoteName)voidtag(java.lang.String tagName)java.util.List<TagsOnCommit>taggedCommits(java.util.List<java.util.regex.Pattern> patterns)
-
-
-
Constructor Detail
-
GitRepository
public GitRepository(ScmProperties properties)
-
-
Method Detail
-
fetchTags
public void fetchTags(ScmIdentity identity, java.lang.String remoteName)
This fetch method behaves like git fetch, meaning it only fetches thing without merging. As a result, any fetched tags will not be visible via GitRepository tag listing methods because they do commit-tree walk, not tag listing.This method is only useful if you have bare repo on CI systems, where merge is not neccessary, because newest version of content has already been fetched.
- Specified by:
fetchTagsin interfaceScmRepository
-
tag
public void tag(java.lang.String tagName)
- Specified by:
tagin interfaceScmRepository
-
dropTag
public void dropTag(java.lang.String tagName)
- Specified by:
dropTagin interfaceScmRepository
-
push
public ScmPushResult push(ScmIdentity identity, ScmPushOptions pushOptions)
- Specified by:
pushin interfaceScmRepository
-
push
public ScmPushResult push(ScmIdentity identity, ScmPushOptions pushOptions, boolean all)
-
attachRemote
public void attachRemote(java.lang.String remoteName, java.lang.String remoteUrl)- Specified by:
attachRemotein interfaceScmRepository
-
commit
public void commit(java.util.List<java.lang.String> patterns, java.lang.String message)- Specified by:
commitin interfaceScmRepository
-
positionOfLastChangeIn
public ScmPosition positionOfLastChangeIn(java.lang.String path, java.util.List<java.lang.String> excludeSubFolders, java.util.Set<java.lang.String> dependenciesFolders)
- Specified by:
positionOfLastChangeInin interfaceScmRepository
-
isIdenticalForPath
public java.lang.Boolean isIdenticalForPath(java.lang.String path, java.lang.String latestChangeRevision, java.lang.String tagCommitRevision)- Specified by:
isIdenticalForPathin interfaceScmRepository
-
currentPosition
public ScmPosition currentPosition()
- Specified by:
currentPositionin interfaceScmRepository
-
latestTags
public TagsOnCommit latestTags(java.util.List<java.util.regex.Pattern> patterns)
- Specified by:
latestTagsin interfaceScmRepository
-
latestTags
public TagsOnCommit latestTags(java.util.List<java.util.regex.Pattern> patterns, java.lang.String sinceCommit)
- Specified by:
latestTagsin interfaceScmRepository
-
taggedCommits
public java.util.List<TagsOnCommit> taggedCommits(java.util.List<java.util.regex.Pattern> patterns)
- Specified by:
taggedCommitsin interfaceScmRepository
-
remoteAttached
public boolean remoteAttached(java.lang.String remoteName)
- Specified by:
remoteAttachedin interfaceScmRepository
-
checkUncommittedChanges
public boolean checkUncommittedChanges()
- Specified by:
checkUncommittedChangesin interfaceScmRepository- Returns:
- true when there are uncommitted changes. This means: not clean
-
checkAheadOfRemote
public boolean checkAheadOfRemote()
- Specified by:
checkAheadOfRemotein interfaceScmRepository
-
listChanges
public org.eclipse.jgit.api.Status listChanges()
-
isLegacyDefTagnameRepo
public boolean isLegacyDefTagnameRepo()
- Specified by:
isLegacyDefTagnameRepoin interfaceScmRepository
-
lastLogMessages
public java.util.List<java.lang.String> lastLogMessages(int messageCount)
- Specified by:
lastLogMessagesin interfaceScmRepository
-
getJgitRepository
public org.eclipse.jgit.api.Git getJgitRepository()
-
-