Skip to content

Commit ba51ae8

Browse files
author
David Catmull
committed
fix parent handling
1 parent 73b548c commit ba51ae8

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

PBWebCommitController.m

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,26 +95,29 @@ - (void)commitDetailsLoaded:(NSNotification *)notification
9595
// In case the commit is a merge, we need to explicity give diff-tree the
9696
// list of parents, or else it will yield an empty result.
9797
// If it's not a merge, this won't hurt.
98-
NSMutableArray *parentsArray = [NSMutableArray array];
98+
NSMutableArray *allParents = [NSMutableArray array];
9999

100-
for (NSDictionary *item in headerItems) {
101-
if ([[item objectForKey:kHeaderKeyName] isEqualToString:@"parent"]) {
102-
[parentsArray addObject:[item objectForKey:kHeaderKeyContent]];
103-
break;
104-
}
105-
}
100+
for (NSDictionary *item in headerItems)
101+
if ([[item objectForKey:kHeaderKeyName] isEqualToString:@"parent"])
102+
[allParents addObject:[item objectForKey:kHeaderKeyContent]];
106103

107-
NSString *parents = [[self chooseDiffParents:parentsArray] componentsJoinedByString:@" "];
104+
NSArray *parents = [self chooseDiffParents:allParents];
108105

109106
// File Stats
110107
NSMutableDictionary *stats = [self parseStats:details];
111108

112109
// File list
113-
NSString *dt = [repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"-r", @"-C90%", @"-M90%", currentSha, parents, nil]];
110+
NSMutableArray *args = [NSMutableArray arrayWithObjects:@"diff-tree", @"--root", @"-r", @"-C90%", @"-M90%", nil];
111+
[args addObjectsFromArray:parents];
112+
[args addObject:currentSha];
113+
NSString *dt = [repository outputInWorkdirForArguments:args];
114114
NSString *fileList = [GLFileView parseDiffTree:dt withStats:stats];
115115

116116
// Diffs list
117-
NSString *d = [repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"--cc", @"-C90%", @"-M90%", parents, currentSha, nil]];
117+
args = [NSMutableArray arrayWithObjects:@"diff-tree", @"--root", @"--cc", @"-C90%", @"-M90%", nil];
118+
[args addObjectsFromArray:parents];
119+
[args addObject:currentSha];
120+
NSString *d = [repository outputInWorkdirForArguments:args];
118121
NSString *diffs = [GLFileView parseDiff:d];
119122

120123
NSString *html = [NSString stringWithFormat:@"%@%@<div id='diffs'>%@</div>",header,fileList,diffs];

PBWebStashController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ - (NSArray*) menuItemsForPath:(NSString*)path
2121

2222
- (NSArray*) chooseDiffParents:(NSArray *)parents
2323
{
24-
return [NSArray arrayWithObject:[parents objectAtIndex:0]];
24+
return [NSArray arrayWithObject:[parents lastObject]];
2525
}
2626

2727
@end

0 commit comments

Comments
 (0)