@@ -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];
0 commit comments