detached-stash: simplify git stash show
This commit refactors git stash show to make use of the assert_stash_like function. git show now dies if the presented argument is non-stash-like. Previous behaviour was to tolerate commits that were not even stash-like. Previously, git stash show would accept stash-like arguments, but only if there was a stash on the stack. Now, git stash accepts stash-like arguments always and only fails if no stash-like argument is specified and there is no stash stack. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									fb433dc912
								
							
						
					
					
						commit
						a9bf09e19d
					
				
							
								
								
									
										14
									
								
								git-stash.sh
								
								
								
								
							
							
						
						
									
										14
									
								
								git-stash.sh
								
								
								
								
							|  | @ -210,19 +210,9 @@ list_stash () { | ||||||
| } | } | ||||||
|  |  | ||||||
| show_stash () { | show_stash () { | ||||||
| 	have_stash || die 'No stash found' | 	assert_stash_like "$@" | ||||||
|  |  | ||||||
| 	flags=$(git rev-parse --no-revs --flags "$@") | 	git diff ${FLAGS:---stat} $b_commit $w_commit | ||||||
| 	if test -z "$flags" |  | ||||||
| 	then |  | ||||||
| 		flags=--stat |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	w_commit=$(git rev-parse --quiet --verify --default $ref_stash "$@") && |  | ||||||
| 	b_commit=$(git rev-parse --quiet --verify "$w_commit^") || |  | ||||||
| 		die "'$*' is not a stash" |  | ||||||
|  |  | ||||||
| 	git diff $flags $b_commit $w_commit |  | ||||||
| } | } | ||||||
|  |  | ||||||
| # | # | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Jon Seymour
						Jon Seymour