commit-reach(repo_get_merge_bases_many_dirty): pass on errors
(Actually, this commit is only about passing on "missing commits" errors, but adding that to the commit's title would have made it too long.) The `merge_bases_many()` function was just taught to indicate parsing errors, and now the `repo_get_merge_bases_many_dirty()` function is aware of that, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									5317380521
								
							
						
					
					
						commit
						caaf1a2942
					
				|  | @ -10,10 +10,13 @@ | ||||||
|  |  | ||||||
| static int show_merge_base(struct commit **rev, int rev_nr, int show_all) | static int show_merge_base(struct commit **rev, int rev_nr, int show_all) | ||||||
| { | { | ||||||
| 	struct commit_list *result, *r; | 	struct commit_list *result = NULL, *r; | ||||||
|  |  | ||||||
| 	result = repo_get_merge_bases_many_dirty(the_repository, rev[0], | 	if (repo_get_merge_bases_many_dirty(the_repository, rev[0], | ||||||
| 						 rev_nr - 1, rev + 1); | 					    rev_nr - 1, rev + 1, &result) < 0) { | ||||||
|  | 		free_commit_list(result); | ||||||
|  | 		return -1; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if (!result) | 	if (!result) | ||||||
| 		return 1; | 		return 1; | ||||||
|  |  | ||||||
|  | @ -470,17 +470,13 @@ int repo_get_merge_bases_many(struct repository *r, | ||||||
| 	return get_merge_bases_many_0(r, one, n, twos, 1, result); | 	return get_merge_bases_many_0(r, one, n, twos, 1, result); | ||||||
| } | } | ||||||
|  |  | ||||||
| struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r, | int repo_get_merge_bases_many_dirty(struct repository *r, | ||||||
| 				    struct commit *one, | 				    struct commit *one, | ||||||
| 				    int n, | 				    int n, | ||||||
| 						    struct commit **twos) | 				    struct commit **twos, | ||||||
|  | 				    struct commit_list **result) | ||||||
| { | { | ||||||
| 	struct commit_list *result = NULL; | 	return get_merge_bases_many_0(r, one, n, twos, 0, result); | ||||||
| 	if (get_merge_bases_many_0(r, one, n, twos, 0, &result) < 0) { |  | ||||||
| 		free_commit_list(result); |  | ||||||
| 		return NULL; |  | ||||||
| 	} |  | ||||||
| 	return result; |  | ||||||
| } | } | ||||||
|  |  | ||||||
| int repo_get_merge_bases(struct repository *r, | int repo_get_merge_bases(struct repository *r, | ||||||
|  |  | ||||||
|  | @ -18,9 +18,10 @@ int repo_get_merge_bases_many(struct repository *r, | ||||||
| 			      struct commit **twos, | 			      struct commit **twos, | ||||||
| 			      struct commit_list **result); | 			      struct commit_list **result); | ||||||
| /* To be used only when object flags after this call no longer matter */ | /* To be used only when object flags after this call no longer matter */ | ||||||
| struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r, | int repo_get_merge_bases_many_dirty(struct repository *r, | ||||||
| 				    struct commit *one, int n, | 				    struct commit *one, int n, | ||||||
| 						    struct commit **twos); | 				    struct commit **twos, | ||||||
|  | 				    struct commit_list **result); | ||||||
|  |  | ||||||
| int get_octopus_merge_bases(struct commit_list *in, struct commit_list **result); | int get_octopus_merge_bases(struct commit_list *in, struct commit_list **result); | ||||||
|  |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Johannes Schindelin
						Johannes Schindelin