clean: use cache_name_is_other()
cmd_clean() has the exact same code of index_name_is_other(). Reduce code duplication. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									05b85022c9
								
							
						
					
					
						commit
						2e70c01799
					
				|  | @ -933,29 +933,12 @@ int cmd_clean(int argc, const char **argv, const char *prefix) | ||||||
|  |  | ||||||
| 	for (i = 0; i < dir.nr; i++) { | 	for (i = 0; i < dir.nr; i++) { | ||||||
| 		struct dir_entry *ent = dir.entries[i]; | 		struct dir_entry *ent = dir.entries[i]; | ||||||
| 		int len, pos; |  | ||||||
| 		int matches = 0; | 		int matches = 0; | ||||||
| 		const struct cache_entry *ce; |  | ||||||
| 		struct stat st; | 		struct stat st; | ||||||
| 		const char *rel; | 		const char *rel; | ||||||
|  |  | ||||||
| 		/* | 		if (!cache_name_is_other(ent->name, ent->len)) | ||||||
| 		 * Remove the '/' at the end that directory | 			continue; | ||||||
| 		 * walking adds for directory entries. |  | ||||||
| 		 */ |  | ||||||
| 		len = ent->len; |  | ||||||
| 		if (len && ent->name[len-1] == '/') |  | ||||||
| 			len--; |  | ||||||
| 		pos = cache_name_pos(ent->name, len); |  | ||||||
| 		if (0 <= pos) |  | ||||||
| 			continue;	/* exact match */ |  | ||||||
| 		pos = -pos - 1; |  | ||||||
| 		if (pos < active_nr) { |  | ||||||
| 			ce = active_cache[pos]; |  | ||||||
| 			if (ce_namelen(ce) == len && |  | ||||||
| 			    !memcmp(ce->name, ent->name, len)) |  | ||||||
| 				continue; /* Yup, this one exists unmerged */ |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		if (lstat(ent->name, &st)) | 		if (lstat(ent->name, &st)) | ||||||
| 			die_errno("Cannot lstat '%s'", ent->name); | 			die_errno("Cannot lstat '%s'", ent->name); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Nguyễn Thái Ngọc Duy
						Nguyễn Thái Ngọc Duy