public final class GitRepository extends Object
Instances are bound to a local folder with actual Git repository. If the repository does not exist yet, you
still have to provide a local file which indicates where the repository would be created when
GitClient.init(org.netbeans.libs.git.progress.ProgressMonitor) was called.
To get an instance of GitClient to run git commands with, use createClient() method. It always returns
a new instance of the GitClient, it is not shared among the callers.
When done with the client - you finish calling all desired commands and do not
plan to use the client's instance any more - GitClient.release() must be called.
When all created clients are released this way, repository metadata are flushed,
all open metadata files are closed and thus do not block any external tools
(such as a commandline client).
Internally the class keeps a map of its instances that are cached under
a weak reference to the instance of the local file passed in the getInstance(java.io.File) method.
Along with the instance it caches also all repository metadata (branches, index, references etc.)
needed to construct the client and operate with the actual Git repository.
Every call to the getInstance method with the same instance of the file
will always return the same instance of GitRepository. It is up to a caller's
responsibility to hold a strong reference to the file so a created client always works with
the same instance of the git repository.
| Modifier and Type | Method and Description |
|---|---|
GitClient |
createClient()
Creates and returns always a new instance of git client bound to the local git repository.
|
static GitRepository |
getInstance(File repositoryLocation)
Returns the instance of
GitRepository representing an existing or not yet existing repository
specified by the given local folder. |
public static GitRepository getInstance(File repositoryLocation)
GitRepository representing an existing or not yet existing repository
specified by the given local folder.repositoryLocation - repository root location, the file may or may not exist.
If you plan to create a local new repository, the repository
will be created at this location.GitRepositorypublic GitClient createClient() throws GitException
GitException - when an error occurs while loading repository data from disk.Built on May 16 2013. | Portions Copyright 1997-2013 Oracle. All rights reserved.