Skip to content

Commit 18027a0

Browse files
committed
fix for git error: No submodule mapping found in .gitmodules for path "..."
1 parent f0f5c91 commit 18027a0

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

Controller/PBSubmoduleController.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ - (void) reload {
4242
if ([submoduleLine length] == 0)
4343
continue;
4444
PBGitSubmodule *submodule = [[PBGitSubmodule alloc] initWithRawSubmoduleStatusString:submoduleLine];
45-
[loadedSubmodules addObject:submodule];
45+
if (submodule)
46+
[loadedSubmodules addObject:submodule];
4647
}
4748

4849
NSMutableArray *groupedSubmodules = [[NSMutableArray alloc] init];

Model/PBGitSubmodule.h

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ typedef enum {
1313
PBGitSubmoduleStateNotInitialized,
1414
PBGitSubmoduleStateMatchingIndex,
1515
PBGitSubmoduleStateDoesNotMatchIndex,
16+
PBGitSubmoduleStateFailed,
1617
} PBGitSubmoduleState;
1718

1819
@interface PBGitSubmodule : NSObject<PBPresentable> {

Model/PBGitSubmodule.m

+5-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ - (id) initWithRawSubmoduleStatusString:(NSString *) submoduleStatusString {
3535
if ((self = [super init])) {
3636
unichar status = [submoduleStatusString characterAtIndex:0];
3737
submoduleState = [PBGitSubmodule submoduleStateFromCharacter:status];
38+
if (submoduleState == PBGitSubmoduleStateFailed) {
39+
NSLog(@"Submodule status failed:\n %@", submoduleStatusString);
40+
return nil;
41+
}
3842
NSScanner *scanner = [NSScanner scannerWithString:[submoduleStatusString substringFromIndex:1]];
3943
NSString *sha1 = nil;
4044
NSString *fullPath = nil;
@@ -114,7 +118,7 @@ + (PBGitSubmoduleState) submoduleStateFromCharacter:(unichar) character {
114118
} else if (character == '+') {
115119
state = PBGitSubmoduleStateDoesNotMatchIndex;
116120
} else if (character != ' ') {
117-
NSAssert1(NO, @"Ooops unsupported submodule status character: %c", character);
121+
return PBGitSubmoduleStateFailed;
118122
}
119123

120124
return state;

0 commit comments

Comments
 (0)