Merge branch 'jk/prune-top-level-refs-after-packing' into maint
* jk/prune-top-level-refs-after-packing: pack-refs: prune top-level refs like "refs/foo"maint
						commit
						fb6f843a8f
					
				
							
								
								
									
										3
									
								
								refs.c
								
								
								
								
							
							
						
						
									
										3
									
								
								refs.c
								
								
								
								
							|  | @ -2387,7 +2387,8 @@ static void try_remove_empty_parents(char *name) | ||||||
| /* make sure nobody touched the ref, and unlink */ | /* make sure nobody touched the ref, and unlink */ | ||||||
| static void prune_ref(struct ref_to_prune *r) | static void prune_ref(struct ref_to_prune *r) | ||||||
| { | { | ||||||
| 	struct ref_lock *lock = lock_ref_sha1(r->name + 5, r->sha1); | 	struct ref_lock *lock = lock_any_ref_for_update(r->name, r->sha1, | ||||||
|  | 							0, NULL); | ||||||
|  |  | ||||||
| 	if (lock) { | 	if (lock) { | ||||||
| 		unlink_or_warn(git_path("%s", r->name)); | 		unlink_or_warn(git_path("%s", r->name)); | ||||||
|  |  | ||||||
|  | @ -151,4 +151,11 @@ test_expect_success 'delete ref while another dangling packed ref' ' | ||||||
| 	test_cmp /dev/null result | 	test_cmp /dev/null result | ||||||
| ' | ' | ||||||
|  |  | ||||||
|  | test_expect_success 'pack ref directly below refs/' ' | ||||||
|  | 	git update-ref refs/top HEAD && | ||||||
|  | 	git pack-refs --all --prune && | ||||||
|  | 	grep refs/top .git/packed-refs && | ||||||
|  | 	test_path_is_missing .git/refs/top | ||||||
|  | ' | ||||||
|  |  | ||||||
| test_done | test_done | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano