public class SubmoduleWalk extends Object
| Constructor and Description |
|---|
SubmoduleWalk(Repository repository)
Create submodule generator
|
| Modifier and Type | Method and Description |
|---|---|
static SubmoduleWalk |
forIndex(Repository repository)
Create a generator to walk over the submodule entries currently in the
index
The
.gitmodules file is read from the index. |
static SubmoduleWalk |
forPath(Repository repository,
AbstractTreeIterator iterator,
String path)
Create a generator and advance it to the submodule entry at the given
path
|
static SubmoduleWalk |
forPath(Repository repository,
AnyObjectId treeId,
String path)
Create a generator and advance it to the submodule entry at the given
path
|
String |
getConfigUpdate()
Get the configured update field for current entry.
|
String |
getConfigUrl()
Get the configured remote URL for current entry.
|
File |
getDirectory()
Get directory that will be the root of the submodule's local repository
|
ObjectId |
getHead()
Get commit id that HEAD points to in the current submodule's repository
|
String |
getHeadRef()
Get ref that HEAD points to in the current submodule's repository
|
String |
getModulesPath()
Get the configured path for current entry.
|
String |
getModulesUpdate()
Get the configured update field for current entry.
|
String |
getModulesUrl()
Get the configured remote URL for current entry.
|
ObjectId |
getObjectId()
Get object id of current submodule entry
|
String |
getPath()
Get path of current submodule entry
|
String |
getRemoteUrl()
Get the resolved remote URL for the current submodule.
|
Repository |
getRepository()
Get repository for current submodule entry
|
static File |
getSubmoduleDirectory(Repository parent,
String path)
Get submodule directory
|
static String |
getSubmoduleRemoteUrl(Repository parent,
String url)
Resolve submodule repository URL.
|
static Repository |
getSubmoduleRepository(File parent,
String path)
Get submodule repository at path
|
static Repository |
getSubmoduleRepository(Repository parent,
String path)
Get submodule repository
|
SubmoduleWalk |
loadModulesConfig()
Load the config for this walk from
.gitmodules. |
boolean |
next()
Advance to next submodule in the index tree.
|
void |
release()
Release any resources used by this walker's reader.
|
SubmoduleWalk |
reset()
Reset generator and start new submodule walk
|
SubmoduleWalk |
setFilter(TreeFilter filter)
Set tree filter
|
SubmoduleWalk |
setModulesConfig(Config config)
Set the config used by this walk.
|
SubmoduleWalk |
setRootTree(AbstractTreeIterator tree)
Set the tree used by this walk for finding
.gitmodules. |
SubmoduleWalk |
setRootTree(AnyObjectId id)
Set the tree used by this walk for finding
.gitmodules. |
SubmoduleWalk |
setTree(AbstractTreeIterator iterator)
Set the tree iterator used for finding submodule entries
|
SubmoduleWalk |
setTree(AnyObjectId treeId)
Set the tree used for finding submodule entries
|
public SubmoduleWalk(Repository repository) throws IOException
repository - IOExceptionpublic static SubmoduleWalk forIndex(Repository repository) throws IOException
.gitmodules file is read from the index.repository - IOExceptionpublic static SubmoduleWalk forPath(Repository repository, AnyObjectId treeId, String path) throws IOException
repository - treeId - the root of a tree containing both a submodule at the given path
and .gitmodules at the root.path - IOExceptionpublic static SubmoduleWalk forPath(Repository repository, AbstractTreeIterator iterator, String path) throws IOException
repository - iterator - the root of a tree containing both a submodule at the given path
and .gitmodules at the root.path - IOExceptionpublic static File getSubmoduleDirectory(Repository parent, String path)
parent - path - public static Repository getSubmoduleRepository(Repository parent, String path) throws IOException
parent - path - IOExceptionpublic static Repository getSubmoduleRepository(File parent, String path) throws IOException
parent - path - IOExceptionpublic static String getSubmoduleRemoteUrl(Repository parent, String url) throws IOException
This handles relative URLs that are typically specified in the '.gitmodules' file by resolving them against the remote URL of the parent repository.
Relative URLs will be resolved against the parent repository's working directory if the parent repository has no configured remote URL.
parent - parent repositoryurl - absolute or relative URL of the submodule repositoryIOExceptionpublic SubmoduleWalk setModulesConfig(Config config)
config - .gitmodules config objectpublic SubmoduleWalk setRootTree(AbstractTreeIterator tree)
.gitmodules.
The root tree is not read until the first submodule is encountered by the walk.
This method need only be called if constructing a walk manually instead of with one of the static factory methods above.
tree - tree containing .gitmodulespublic SubmoduleWalk setRootTree(AnyObjectId id) throws IOException
.gitmodules.
The root tree is not read until the first submodule is encountered by the walk.
This method need only be called if constructing a walk manually instead of with one of the static factory methods above.
id - ID of a tree containing .gitmodulesIOExceptionpublic SubmoduleWalk loadModulesConfig() throws IOException, ConfigInvalidException
.gitmodules.
Uses the root tree if setRootTree(AbstractTreeIterator) was
previously called, otherwise uses the working tree.
If no submodule config is found, loads an empty config.
IOException - if an error occurred, or if the repository is bareConfigInvalidExceptionpublic SubmoduleWalk setFilter(TreeFilter filter)
filter - public SubmoduleWalk setTree(AbstractTreeIterator iterator) throws CorruptObjectException
iterator - CorruptObjectExceptionpublic SubmoduleWalk setTree(AnyObjectId treeId) throws IOException
treeId - IOExceptionIncorrectObjectTypeExceptionMissingObjectExceptionpublic SubmoduleWalk reset()
public File getDirectory()
public boolean next()
throws IOException
getObjectId() and getPath().IOExceptionpublic String getPath()
public ObjectId getObjectId()
public String getModulesPath() throws IOException, ConfigInvalidException
ConfigInvalidExceptionIOExceptionpublic String getConfigUrl() throws IOException, ConfigInvalidException
ConfigInvalidExceptionIOExceptionpublic String getModulesUrl() throws IOException, ConfigInvalidException
ConfigInvalidExceptionIOExceptionpublic String getConfigUpdate() throws IOException, ConfigInvalidException
ConfigInvalidExceptionIOExceptionpublic String getModulesUpdate() throws IOException, ConfigInvalidException
ConfigInvalidExceptionIOExceptionpublic Repository getRepository() throws IOException
IOExceptionpublic ObjectId getHead() throws IOException
IOExceptionpublic String getHeadRef() throws IOException
IOExceptionpublic String getRemoteUrl() throws IOException, ConfigInvalidException
This method resolves the value of getModulesUrl() to an absolute
URL
IOExceptionConfigInvalidExceptionpublic void release()
Copyright © 2013. All rights reserved.