git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git stash: Give friendlier errors when there is nothing to apply

From
Nanako Shiraishi <nanako3@lavabit.com>
Date
Aug 14, 2009, 21:39 UTC
Message-ID
<20090815063956.6117@nanako3.lavabit.com>
In-Reply-To
<7v3a7ujhqb.fsf@alter.siamese.dyndns.org>
Quoting Junio C Hamano <gitster@pobox.com>
Show 21 quoted lines
> Ori Avtalion <ori@avtalion.name> writes:
>
>> The change makes sure a stash (given or default) exists before
>> checking if the working tree is dirty.
>>
>> If the default stash is requested, the old message was scary and
>> included a 'fatal' error from rev-parse:
>>      fatal: Needed a single revision
>>      : no valid stashed state found
>>
>> It is replaced with a friendlier 'Nothing to apply' error, similar to
>> 'git stash branch'.
>>
>> If a specific stash is specified, the 'Needed a single revision' errors
>> from rev-parse are suppressed.
>>
>> Signed-off-by: Ori Avtalion <ori@avtalion.name>
>> Acked-by: Thomas Rast <trast@student.ethz.ch>
>
> I do not see anything that might break existing usage of the command.
> Comments?

The patch looks good to me. I think it was my fault but you can avoid adding two extra --quiet by inspecting i_tree (in other words, "$s^2:") before w_tree and b_tree. Because a commit that is a stash exactly has two parents, it may be good to also make sure 'git rev-parse "$s^3"' fails.

	s=$(git rev-parse --verify --default $ref_stash "$@") &&
	! git rev-parse --quiet --verify "$s^3" >/dev/null &&
	i_tree=$(git rev-parse --quiet --verify "$s^2:") &&
	b_tree=$(git rev-parse --verify "$s^1:") &&
	w_tree=$(git rev-parse --verify "$s:") ||
		die "$*: no valid stashed state found"
> A tangent; we might want an analogue to "shortlog -s -n" but based on
> "blame".
I'm sorry, I don't understand what you mean.
-- 
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 7 in “git stash: Give friendlier error when there is nothing to apply”
  1. git stash: Give friendlier error when there is nothing to applyOri Avtalion, Aug 11, 2009
  2. Thomas RastAug 11, 2009
  3. git stash: Give friendlier errors when there is nothing to applyOri Avtalion, Aug 11, 2009
  4. Thomas RastAug 13, 2009
  5. Junio C HamanoAug 14, 2009
  6. Nanako ShiraishiAug 14, 2009
  7. Junio C HamanoAug 15, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.