Ensure .gitmodules is loaded when accessing submodule name
This problem occurred when calling SubmoduleWalk#getModuleName if the first submodule processed has a name and a path which do not match SubmoduleWalk#getModuleName returned the module path instead of the module name. In order to fix this SubmoduleWalk#getModuleName needs to ensure that the modules config is loaded. Bug: 565776 Change-Id: I36ce1fbc64c4849f9d8e39864b825c6e28d344f8 Signed-off-by: John Dallaway <john@dallaway.org.uk> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
8269587f49
commit
f4b4dae2be
|
@ -455,6 +455,7 @@ public void apply(DirCacheEntry ent) {
|
|||
final CanonicalTreeParser p = new CanonicalTreeParser();
|
||||
p.reset(testDb.getRevWalk().getObjectReader(), commit.getTree());
|
||||
try (SubmoduleWalk gen = SubmoduleWalk.forPath(db, p, "sub")) {
|
||||
assertEquals(arbitraryName, gen.getModuleName());
|
||||
assertEquals(path, gen.getPath());
|
||||
assertEquals(subId, gen.getObjectId());
|
||||
assertEquals(new File(db.getWorkTree(), path), gen.getDirectory());
|
||||
|
|
|
@ -20,8 +20,10 @@
|
|||
import java.util.List;
|
||||
|
||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.eclipse.jgit.api.errors.InvalidConfigurationException;
|
||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||
import org.eclipse.jgit.api.errors.NoHeadException;
|
||||
import org.eclipse.jgit.errors.ConfigInvalidException;
|
||||
import org.eclipse.jgit.internal.JGitText;
|
||||
import org.eclipse.jgit.lib.ConfigConstants;
|
||||
import org.eclipse.jgit.lib.ObjectId;
|
||||
|
@ -119,6 +121,8 @@ public Collection<SubmoduleDeinitResult> call() throws GitAPIException {
|
|||
}
|
||||
}
|
||||
return results;
|
||||
} catch (ConfigInvalidException e) {
|
||||
throw new InvalidConfigurationException(e.getMessage(), e);
|
||||
} catch (IOException e) {
|
||||
throw new JGitInternalException(e.getMessage(), e);
|
||||
}
|
||||
|
|
|
@ -657,8 +657,11 @@ public void setBuilderFactory(RepositoryBuilderFactory factory) {
|
|||
*
|
||||
* @since 4.10
|
||||
* @return name
|
||||
* @throws ConfigInvalidException
|
||||
* @throws IOException
|
||||
*/
|
||||
public String getModuleName() {
|
||||
public String getModuleName() throws IOException, ConfigInvalidException {
|
||||
lazyLoadModulesConfig();
|
||||
return getModuleName(path);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue