commit: skip discarding the index if there is no pre-commit hook
If there is not a pre-commit hook, there is no reason to discard the index and reread it. This change checks to presence of a pre-commit hook and then only discards the index if there was one. Signed-off-by: Kevin Willford <kewillf@microsoft.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									3d9c5b5c44
								
							
						
					
					
						commit
						680ee550d7
					
				|  | @ -943,13 +943,16 @@ static int prepare_to_commit(const char *index_file, const char *prefix, | |||
| 		return 0; | ||||
| 	} | ||||
|  | ||||
| 	/* | ||||
| 	 * Re-read the index as pre-commit hook could have updated it, | ||||
| 	 * and write it out as a tree.  We must do this before we invoke | ||||
| 	 * the editor and after we invoke run_status above. | ||||
| 	 */ | ||||
| 	discard_cache(); | ||||
| 	if (!no_verify && find_hook("pre-commit")) { | ||||
| 		/* | ||||
| 		 * Re-read the index as pre-commit hook could have updated it, | ||||
| 		 * and write it out as a tree.  We must do this before we invoke | ||||
| 		 * the editor and after we invoke run_status above. | ||||
| 		 */ | ||||
| 		discard_cache(); | ||||
| 	} | ||||
| 	read_cache_from(index_file); | ||||
|  | ||||
| 	if (update_main_cache_tree(0)) { | ||||
| 		error(_("Error building trees")); | ||||
| 		return 0; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Kevin Willford
						Kevin Willford