Change FS not to throw NPE when facing InMemory databases
The FS class and the subclasses FS_POSIX assumed in the findHook() method that every repository has a valid gitDir. But in tests when using in-memory-repositories this is not true and this method was generating NPEs. Change the method to return null if no repository directory can be determined. Change-Id: I38a4d36dc6452b5dacae3d0dbf562b569ca3c19b
This commit is contained in:
parent
f9bd6c1239
commit
d0d637342b
|
@ -866,7 +866,10 @@ protected ProcessResult internalRunHookIfPresent(Repository repository,
|
|||
* @since 4.0
|
||||
*/
|
||||
public File findHook(Repository repository, final String hookName) {
|
||||
final File hookFile = new File(new File(repository.getDirectory(),
|
||||
File gitDir = repository.getDirectory();
|
||||
if (gitDir == null)
|
||||
return null;
|
||||
final File hookFile = new File(new File(gitDir,
|
||||
Constants.HOOKS), hookName);
|
||||
return hookFile.isFile() ? hookFile : null;
|
||||
}
|
||||
|
|
|
@ -335,6 +335,9 @@ public String normalize(String name) {
|
|||
@Override
|
||||
public File findHook(Repository repository, String hookName) {
|
||||
final File gitdir = repository.getDirectory();
|
||||
if (gitdir == null) {
|
||||
return null;
|
||||
}
|
||||
final Path hookPath = gitdir.toPath().resolve(Constants.HOOKS)
|
||||
.resolve(hookName);
|
||||
if (Files.isExecutable(hookPath))
|
||||
|
|
Loading…
Reference in New Issue