fix parent handling

This commit is contained in:
David Catmull
2011-06-17 13:52:33 -06:00
parent 73b548cd67
commit ba51ae810b
2 changed files with 14 additions and 11 deletions
+13 -10
View File
@@ -95,26 +95,29 @@ const NSString *kAuthorKeyDate = @"date";
// In case the commit is a merge, we need to explicity give diff-tree the
// list of parents, or else it will yield an empty result.
// If it's not a merge, this won't hurt.
NSMutableArray *parentsArray = [NSMutableArray array];
NSMutableArray *allParents = [NSMutableArray array];
for (NSDictionary *item in headerItems) {
if ([[item objectForKey:kHeaderKeyName] isEqualToString:@"parent"]) {
[parentsArray addObject:[item objectForKey:kHeaderKeyContent]];
break;
}
}
for (NSDictionary *item in headerItems)
if ([[item objectForKey:kHeaderKeyName] isEqualToString:@"parent"])
[allParents addObject:[item objectForKey:kHeaderKeyContent]];
NSString *parents = [[self chooseDiffParents:parentsArray] componentsJoinedByString:@" "];
NSArray *parents = [self chooseDiffParents:allParents];
// File Stats
NSMutableDictionary *stats = [self parseStats:details];
// File list
NSString *dt = [repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"-r", @"-C90%", @"-M90%", currentSha, parents, nil]];
NSMutableArray *args = [NSMutableArray arrayWithObjects:@"diff-tree", @"--root", @"-r", @"-C90%", @"-M90%", nil];
[args addObjectsFromArray:parents];
[args addObject:currentSha];
NSString *dt = [repository outputInWorkdirForArguments:args];
NSString *fileList = [GLFileView parseDiffTree:dt withStats:stats];
// Diffs list
NSString *d = [repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"--cc", @"-C90%", @"-M90%", parents, currentSha, nil]];
args = [NSMutableArray arrayWithObjects:@"diff-tree", @"--root", @"--cc", @"-C90%", @"-M90%", nil];
[args addObjectsFromArray:parents];
[args addObject:currentSha];
NSString *d = [repository outputInWorkdirForArguments:args];
NSString *diffs = [GLFileView parseDiff:d];
NSString *html = [NSString stringWithFormat:@"%@%@<div id='diffs'>%@</div>",header,fileList,diffs];
+1 -1
View File
@@ -21,7 +21,7 @@
- (NSArray*) chooseDiffParents:(NSArray *)parents
{
return [NSArray arrayWithObject:[parents objectAtIndex:0]];
return [NSArray arrayWithObject:[parents lastObject]];
}
@end