26 lines
		
	
	
		
			478 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			26 lines
		
	
	
		
			478 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| 
 | |
| . git-sh-setup-script || die "Not a git archive"
 | |
| 
 | |
| dryrun=
 | |
| while case "$#" in 0) break ;; esac
 | |
| do
 | |
|     case "$1" in
 | |
|     -n) dryrun=echo ;;
 | |
|     --) break ;;
 | |
|     -*) echo >&2 "usage: git-prune-script [ -n ] [ heads... ]"; exit 1 ;;
 | |
|     *)  break ;;
 | |
|     esac
 | |
|     shift;
 | |
| done
 | |
| 
 | |
| git-fsck-cache --full --cache --unreachable "$@" |
 | |
| sed -ne '/unreachable /{
 | |
|     s/unreachable [^ ][^ ]* //
 | |
|     s|\(..\)|\1/|p
 | |
| }' | {
 | |
| 	cd "$GIT_OBJECT_DIRECTORY" || exit
 | |
| 	xargs -r $dryrun rm -f
 | |
| }
 | |
| 
 |