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

Re: [BUG] "git stash -- path" reports wrong unstaged changes

From
Jeff King <peff@peff.net>
Date
Mar 20, 2017, 18:41 UTC
Message-ID
<20170320184156.sji45up2aba7z3ws@sigill.intra.peff.net>
In-Reply-To
<20170318183658.GC27158@hank>
On Sat, Mar 18, 2017 at 06:36:58PM +0000, Thomas Gummerer wrote:
Show 18 quoted lines
> > +			if test -z "$GIT_QUIET" && ! git diff-files --quiet
> > +			then
> > +				say "$(gettext "Unstaged changes after reset:")"
> > +				git diff-files --name-status
> > +			fi
> >  		else
> >  			git reset --hard ${GIT_QUIET:+-q}
> >  		fi
> 
> This would mean the user gets something like in your case above:
> 
>     Unstaged changes after reset:
>      M	two
> 
> As a user that doesn't know the internal implementation of push_stash,
> this would make me wonder why git stash would mention a file that is
> not provided as pathspec, but not the one that was provided in the
> pathspec argument.

That's a good point. I was going for consistency with the non-pathspec case, but of course it wouldn't mention any files in the first place, because it's just done a complete "git reset --hard".

Show 6 quoted lines
> I think one option would be to to just keep quiet about the exact
> changes that git stash push makes, similar to what we do in the
> --include-untracked and in the -p case.  The other option would be to
> find the files that are affected and print them, but that would
> probably be a bit too noisy especially in cases such as
> git stash push -- docs/*.
Yeah, that's the right thing. I was just trying to be too clever above.
-Peff
Previous: Thomas Gummerer
Message 26 of 26 in “[BUG] "git stash -- path" reports wrong unstaged changes”
  1. Jeff KingMar 17, 2017
  2. Thomas GummererMar 18, 2017
  3. Thomas GummererMar 19, 2017
  4. 1/3 stash: show less information for stash push -- <pathspec>Thomas Gummerer, Mar 19, 2017
  5. Junio C HamanoMar 20, 2017
  6. Jeff KingMar 20, 2017
  7. Junio C HamanoMar 20, 2017
  8. Thomas GummererMar 21, 2017
  9. Jeff KingMar 20, 2017
  10. 3/3 stash: pass the pathspec argument to git resetThomas Gummerer, Mar 19, 2017
  11. Jeff KingMar 20, 2017
  12. Thomas GummererMar 21, 2017
  13. Jeff KingMar 21, 2017
  14. 2/3 stash: make push -p -q --no-keep-index quietThomas Gummerer, Mar 19, 2017
  15. Jeff KingMar 20, 2017
  16. 0/3 Re: [BUG] "git stash -- path" reports wrong unstaged changesThomas Gummerer, Mar 21, 2017
  17. 2/3 stash: pass the pathspec argument to git resetThomas Gummerer, Mar 21, 2017
  18. Jeff KingMar 21, 2017
  19. 1/3 stash: don't show internal implementation detailsThomas Gummerer, Mar 21, 2017
  20. Jeff KingMar 21, 2017
  21. Thomas GummererMar 22, 2017
  22. Jeff KingMar 22, 2017
  23. 3/3 stash: keep untracked files intact in stash -kThomas Gummerer, Mar 21, 2017
  24. Jeff KingMar 21, 2017
  25. Thomas GummererMar 22, 2017
  26. Jeff KingMar 20, 2017

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.