log: decorate "replaced" on to replaced commits
Old code also decorates "new" commits with "refs/replace/SHA1". This is now gone, but I guess no one will miss it. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									76f5df305b
								
							
						
					
					
						commit
						5267d292ec
					
				
							
								
								
									
										16
									
								
								log-tree.c
								
								
								
								
							
							
						
						
									
										16
									
								
								log-tree.c
								
								
								
								
							|  | @ -92,8 +92,22 @@ static void add_name_decoration(enum decoration_type type, const char *name, str | |||
|  | ||||
| static int add_ref_decoration(const char *refname, const unsigned char *sha1, int flags, void *cb_data) | ||||
| { | ||||
| 	struct object *obj = parse_object(sha1); | ||||
| 	struct object *obj; | ||||
| 	enum decoration_type type = DECORATION_NONE; | ||||
|  | ||||
| 	if (!prefixcmp(refname, "refs/replace/")) { | ||||
| 		unsigned char original_sha1[20]; | ||||
| 		if (get_sha1_hex(refname + 13, original_sha1)) { | ||||
| 			warning("invalid replace ref %s", refname); | ||||
| 			return 0; | ||||
| 		} | ||||
| 		obj = parse_object(original_sha1); | ||||
| 		if (obj) | ||||
| 			add_name_decoration(DECORATION_GRAFTED, "replaced", obj); | ||||
| 		return 0; | ||||
| 	} | ||||
|  | ||||
| 	obj = parse_object(sha1); | ||||
| 	if (!obj) | ||||
| 		return 0; | ||||
|  | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Nguyễn Thái Ngọc Duy
						Nguyễn Thái Ngọc Duy