Class TestRepository<R extends org.eclipse.jgit.lib.Repository>
- Type Parameters:
R- type of Repository the test data is stored on.
- All Implemented Interfaces:
AutoCloseable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassHelper to build a branch with one or more commitsclassHelper to generate a commit. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTestRepository(R db) Wrap a repository with test building tools.TestRepository(R db, org.eclipse.jgit.revwalk.RevWalk rw) Wrap a repository with test building tools.TestRepository(R db, org.eclipse.jgit.revwalk.RevWalk rw, MockSystemReader reader) Wrap a repository with test building tools. -
Method Summary
Modifier and TypeMethodDescriptionamend(org.eclipse.jgit.lib.AnyObjectId id) Amend an existing commit.Amend an existing ref.org.eclipse.jgit.revwalk.RevBlobblob(byte[] content) Create a new blob object in the repository.org.eclipse.jgit.revwalk.RevBlobCreate a new blob object in the repository.Create a new branch builder for this repository.org.eclipse.jgit.revwalk.RevCommitcherryPick(org.eclipse.jgit.lib.AnyObjectId id) Cherry-pick a commit onto HEAD.voidclose()Closes the underlyingRepositoryobject and any other internal resources.commit()Create commit builderorg.eclipse.jgit.revwalk.RevCommitcommit(int secDelta, org.eclipse.jgit.revwalk.RevCommit... parents) Create a new commit.org.eclipse.jgit.revwalk.RevCommitcommit(int secDelta, org.eclipse.jgit.revwalk.RevTree tree, org.eclipse.jgit.revwalk.RevCommit... parents) Create a new commit.org.eclipse.jgit.revwalk.RevCommitcommit(org.eclipse.jgit.revwalk.RevCommit... parents) Create a new commit.org.eclipse.jgit.revwalk.RevCommitcommit(org.eclipse.jgit.revwalk.RevTree tree, org.eclipse.jgit.revwalk.RevCommit... parents) Create a new commit.voidDelete a reference.org.eclipse.jgit.dircache.DirCacheEntryConstruct a regular file mode tree entry.voidfsck(org.eclipse.jgit.revwalk.RevObject... tips) Run consistency checks against the object database.org.eclipse.jgit.revwalk.RevObjectLookup an entry stored in a tree, failing if not present.getDate()Deprecated.Get instantGet repositoryorg.eclipse.jgit.revwalk.RevWalkGet RevWalkDeprecated.UsegetTimeZoneId()instead.Get timezoneorg.eclipse.jgit.api.Gitgit()Return Git API wrapperorg.eclipse.jgit.lib.ObjectIdlightweightTag(String name, org.eclipse.jgit.lib.ObjectId obj) Tag an object using a lightweight tag.org.eclipse.jgit.dircache.DirCacheEntryConstruct a symlink mode tree entry.voidPack all reachable objects in the repository into a single pack file.<T extends org.eclipse.jgit.revwalk.RevObject>
TparseBody(T object) Ensure the body of the given object has been parsed.voidSoft-reset HEAD to a different commit.voidreset(org.eclipse.jgit.lib.AnyObjectId id) Soft-reset HEAD to a detached state.voidsetAuthorAndCommitter(org.eclipse.jgit.lib.CommitBuilder c) Set the author and committer usinggetInstant().org.eclipse.jgit.revwalk.RevTagConstruct an annotated tag object pointing at another object.voidtick(int secDelta) Adjust the current time that will used by the next commit.org.eclipse.jgit.revwalk.RevTreetree(org.eclipse.jgit.dircache.DirCacheEntry... entries) Construct a tree from a specific listing of file entries.org.eclipse.jgit.lib.ObjectIdunparsedCommit(int secDelta, org.eclipse.jgit.revwalk.RevTree tree, org.eclipse.jgit.lib.ObjectId... parents) Create a new, unparsed commit.org.eclipse.jgit.lib.ObjectIdunparsedCommit(org.eclipse.jgit.lib.ObjectId... parents) Create a new, unparsed commit.org.eclipse.jgit.revwalk.RevCommitupdate(String ref, TestRepository<R>.CommitBuilder to) Update a reference to point to an object.<T extends org.eclipse.jgit.lib.AnyObjectId>
TUpdate a reference to point to an object.voidUpdate the dumb client server info files.
-
Field Details
-
AUTHOR
ConstantAUTHOR="J. Author"- See Also:
-
AUTHOR_EMAIL
ConstantAUTHOR_EMAIL="jauthor@example.com"- See Also:
-
COMMITTER
ConstantCOMMITTER="J. Committer"- See Also:
-
COMMITTER_EMAIL
ConstantCOMMITTER_EMAIL="jcommitter@example.com"- See Also:
-
-
Constructor Details
-
TestRepository
Wrap a repository with test building tools.- Parameters:
db- the test repository to write into.- Throws:
IOException- if an IO error occurred
-
TestRepository
Wrap a repository with test building tools.- Parameters:
db- the test repository to write into.rw- the RevObject pool to use for object lookup.- Throws:
IOException- if an IO error occurred
-
TestRepository
public TestRepository(R db, org.eclipse.jgit.revwalk.RevWalk rw, MockSystemReader reader) throws IOException Wrap a repository with test building tools.- Parameters:
db- the test repository to write into.rw- the RevObject pool to use for object lookup.reader- the MockSystemReader to use for clock and other system operations.- Throws:
IOException- if an IO error occurred- Since:
- 4.2
-
-
Method Details
-
getRepository
Get repository- Returns:
- the repository this helper class operates against.
-
getRevWalk
public org.eclipse.jgit.revwalk.RevWalk getRevWalk()Get RevWalk- Returns:
- get the RevWalk pool all objects are allocated through.
-
git
public org.eclipse.jgit.api.Git git()Return Git API wrapper- Returns:
- an API wrapper for the underlying repository. This wrapper does not allocate any new resources and need not be closed (but closing it is harmless).
-
getDate
Deprecated.UsegetInstant()instead.Get date- Returns:
- current date.
- Since:
- 4.2
-
getInstant
Get instant- Returns:
- current instant.
- Since:
- 6.8
-
getTimeZone
Deprecated.UsegetTimeZoneId()instead.Get timezone- Returns:
- timezone used for default identities.
-
getTimeZoneId
Get timezone- Returns:
- timezone used for default identities.
- Since:
- 7.2
-
tick
public void tick(int secDelta) Adjust the current time that will used by the next commit.- Parameters:
secDelta- number of seconds to add to the current time.
-
setAuthorAndCommitter
public void setAuthorAndCommitter(org.eclipse.jgit.lib.CommitBuilder c) Set the author and committer usinggetInstant().- Parameters:
c- the commit builder to store.
-
blob
Create a new blob object in the repository.- Parameters:
content- file content, will be UTF-8 encoded.- Returns:
- reference to the blob.
- Throws:
Exception- if an error occurred
-
blob
Create a new blob object in the repository.- Parameters:
content- binary file content.- Returns:
- the new, fully parsed blob.
- Throws:
Exception- if an error occurred
-
file
public org.eclipse.jgit.dircache.DirCacheEntry file(String path, org.eclipse.jgit.revwalk.RevBlob blob) throws Exception Construct a regular file mode tree entry.- Parameters:
path- path of the file.blob- a blob, previously constructed in the repository.- Returns:
- the entry.
- Throws:
Exception- if an error occurred
-
link
public org.eclipse.jgit.dircache.DirCacheEntry link(String path, org.eclipse.jgit.revwalk.RevBlob blob) throws Exception Construct a symlink mode tree entry.- Parameters:
path- path of the symlink.blob- a blob, previously constructed in the repository.- Returns:
- the entry.
- Throws:
Exception- if an error occurred- Since:
- 6.3
-
tree
public org.eclipse.jgit.revwalk.RevTree tree(org.eclipse.jgit.dircache.DirCacheEntry... entries) throws Exception Construct a tree from a specific listing of file entries.- Parameters:
entries- the files to include in the tree. The collection does not need to be sorted properly and may be empty.- Returns:
- the new, fully parsed tree specified by the entry list.
- Throws:
Exception- if an error occurred
-
get
public org.eclipse.jgit.revwalk.RevObject get(org.eclipse.jgit.revwalk.RevTree tree, String path) throws Exception Lookup an entry stored in a tree, failing if not present.- Parameters:
tree- the tree to search.path- the path to find the entry of.- Returns:
- the parsed object entry at this path, never null.
- Throws:
Exception- if an error occurred
-
unparsedCommit
public org.eclipse.jgit.lib.ObjectId unparsedCommit(org.eclipse.jgit.lib.ObjectId... parents) throws Exception Create a new, unparsed commit.See
unparsedCommit(int, RevTree, ObjectId...). The tree is the empty tree (no files or subdirectories).- Parameters:
parents- zero or more IDs of the commit's parents.- Returns:
- the ID of the new commit.
- Throws:
Exception- if an error occurred- Since:
- 5.5
-
commit
public org.eclipse.jgit.revwalk.RevCommit commit(org.eclipse.jgit.revwalk.RevCommit... parents) throws Exception Create a new commit.See
commit(int, RevTree, RevCommit...). The tree is the empty tree (no files or subdirectories).- Parameters:
parents- zero or more parents of the commit.- Returns:
- the new commit.
- Throws:
Exception- if an error occurred
-
commit
public org.eclipse.jgit.revwalk.RevCommit commit(org.eclipse.jgit.revwalk.RevTree tree, org.eclipse.jgit.revwalk.RevCommit... parents) throws Exception Create a new commit.- Parameters:
tree- the root tree for the commit.parents- zero or more parents of the commit.- Returns:
- the new commit.
- Throws:
Exception- if an error occurred
-
commit
public org.eclipse.jgit.revwalk.RevCommit commit(int secDelta, org.eclipse.jgit.revwalk.RevCommit... parents) throws Exception Create a new commit.See
commit(int, RevTree, RevCommit...). The tree is the empty tree (no files or subdirectories). -
commit
public org.eclipse.jgit.revwalk.RevCommit commit(int secDelta, org.eclipse.jgit.revwalk.RevTree tree, org.eclipse.jgit.revwalk.RevCommit... parents) throws Exception Create a new commit.The author and committer identities are stored using the current timestamp, after being incremented by
secDelta. The message body is empty. -
unparsedCommit
public org.eclipse.jgit.lib.ObjectId unparsedCommit(int secDelta, org.eclipse.jgit.revwalk.RevTree tree, org.eclipse.jgit.lib.ObjectId... parents) throws Exception Create a new, unparsed commit.The author and committer identities are stored using the current timestamp, after being incremented by
secDelta. The message body is empty. -
commit
Create commit builder- Returns:
- a new commit builder.
-
tag
public org.eclipse.jgit.revwalk.RevTag tag(String name, org.eclipse.jgit.revwalk.RevObject dst) throws Exception Construct an annotated tag object pointing at another object.The tagger is the committer identity, at the current time as specified by
tick(int). The time is not increased.The tag message is empty.
- Parameters:
name- name of the tag. Traditionally a tag name should not start withrefs/tags/.dst- object the tag should be pointed at.- Returns:
- the new, fully parsed annotated tag object.
- Throws:
Exception- if an error occurred
-
update
public org.eclipse.jgit.revwalk.RevCommit update(String ref, TestRepository<R>.CommitBuilder to) throws Exception Update a reference to point to an object.- Parameters:
ref- the name of the reference to update to. Ifrefdoes not start withrefs/and is not the magic namesHEADFETCH_HEADorMERGE_HEAD, thenrefs/heads/will be prefixed in front of the given name, thereby assuming it is a branch.to- the target object.- Returns:
- the target object.
- Throws:
Exception- if an error occurred
-
amendRef
Amend an existing ref.- Parameters:
ref- the name of the reference to amend, which must already exist. Ifrefdoes not start withrefs/and is not the magic namesHEADFETCH_HEADorMERGE_HEAD, thenrefs/heads/will be prefixed in front of the given name, thereby assuming it is a branch.- Returns:
- commit builder that amends the branch on commit.
- Throws:
Exception- if an error occurred
-
amend
Amend an existing commit.- Parameters:
id- the id of the commit to amend.- Returns:
- commit builder.
- Throws:
Exception- if an error occurred
-
update
Update a reference to point to an object.- Type Parameters:
T- type of the target object.- Parameters:
ref- the name of the reference to update to. Ifrefdoes not start withrefs/and is not the magic namesHEADFETCH_HEADorMERGE_HEAD, thenrefs/heads/will be prefixed in front of the given name, thereby assuming it is a branch.obj- the target object.- Returns:
- the target object.
- Throws:
Exception- if an error occurred
-
delete
Delete a reference.- Parameters:
ref- the name of the reference to delete. This is normalized in the same way asupdate(String, AnyObjectId).- Throws:
Exception- if an error occurred- Since:
- 4.4
-
reset
Soft-reset HEAD to a detached state.- Parameters:
id- ID of detached head.- Throws:
Exception- if an error occurred- See Also:
-
reset
Soft-reset HEAD to a different commit.This is equivalent to
git reset --softin that it modifies HEAD but not the index or the working tree of a non-bare repository.- Parameters:
name- revision string; either an existing ref name, or something that can be parsed to an object ID.- Throws:
Exception- if an error occurred
-
cherryPick
public org.eclipse.jgit.revwalk.RevCommit cherryPick(org.eclipse.jgit.lib.AnyObjectId id) throws Exception Cherry-pick a commit onto HEAD.This differs from
git cherry-pickin that it works in a bare repository. As a result, any merge failure results in an exception, as there is no way to recover.- Parameters:
id- commit-ish to cherry-pick.- Returns:
- the new, fully parsed commit, or null if no work was done due to the resulting tree being identical.
- Throws:
Exception- if an error occurred
-
updateServerInfo
Update the dumb client server info files.- Throws:
Exception- if an error occurred
-
parseBody
Ensure the body of the given object has been parsed.- Type Parameters:
T- type of object, e.g.RevTagorRevCommit.- Parameters:
object- reference to the (possibly unparsed) object to force body parsing of.- Returns:
object- Throws:
Exception- if an error occurred
-
branch
Create a new branch builder for this repository.- Parameters:
ref- name of the branch to be constructed. Ifrefdoes not start withrefs/the prefixrefs/heads/will be added.- Returns:
- builder for the named branch.
-
lightweightTag
public org.eclipse.jgit.lib.ObjectId lightweightTag(String name, org.eclipse.jgit.lib.ObjectId obj) throws Exception Tag an object using a lightweight tag.- Parameters:
name- the tag name. The /refs/tags/ prefix will be added if the name doesn't start with itobj- the object to tag- Returns:
- the tagged object
- Throws:
Exception- if an error occurred
-
fsck
public void fsck(org.eclipse.jgit.revwalk.RevObject... tips) throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, IOException Run consistency checks against the object database.This method completes silently if the checks pass. A temporary revision pool is constructed during the checking.
- Parameters:
tips- the tips to start checking from; if not supplied the refs of the repository are used instead.- Throws:
org.eclipse.jgit.errors.MissingObjectException- if object is missingorg.eclipse.jgit.errors.IncorrectObjectTypeException- if object has unexpected typeIOException- if an IO error occurred
-
packAndPrune
Pack all reachable objects in the repository into a single pack file.All loose objects are automatically pruned. Existing packs however are not removed.
- Throws:
Exception- if an error occurred
-
close
public void close()Closes the underlyingRepositoryobject and any other internal resources.AutoCloseableresources that may escape this object, such as those returned by thegitandgetRevWalk()methods are not closed.- Specified by:
closein interfaceAutoCloseable
-
getInstant()instead.