Subject: Re: [RFC] deprecate git stash save? (was: Re: [PATCH 2/3] http-push: fix construction of hex value from path)

From: Thomas Gummerer <[email-masked]>
Date: Tue, 17 Oct 2017 22:47:16 +0100

On 10/17, Jeff King wrote:
> On Thu, Oct 05, 2017 at 09:00:49PM +0100, Thomas Gummerer wrote:
> 
> > Since you were asking :)  With the introduction of 'git stash push',
> > my hope was always that we could eventually get rid of 'git stash
> > save' and only keep one interface around.
> > 
> > As there still many references to it around on the internet, it
> > probably requires a bit of a longer deprecation plan.  What do you
> > think about the following:
> > 
> > - Change docs/man pages to use 'git stash push' everywhere instead of
> >   'git stash save'.
> > - Mention the deprecation in the release notes and in the man page.
> > - Print a warning when 'git stash save' is used.
> > - Eventually get rid of it (maybe something for 3.0?)
> > 
> > The steps above would all occur sequentially with a few releases
> > between each of them.
> 
> That sounds like a pretty good plan.
> 
> > A patch for the first step below.  I think that even makes sense if we
> > don't want to follow through with the deprecation.
> 
> Agreed. The patch mostly looks good, except:

Thanks for the review.

> > diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
> > index b4d88af133..1c4e44892d 100644
> > --- a/Documentation/user-manual.txt
> > +++ b/Documentation/user-manual.txt
> > @@ -1556,7 +1556,7 @@ so on a different branch and then coming back), unstash the
> >  work-in-progress changes.
> >  
> >  ------------------------------------------------
> > -$ git stash save "work in progress for foo feature"
> > +$ git stash push "work in progress for foo feature"
> >  ------------------------------------------------
> 
> This needs "-m", doesn't it?

Yeah, this definitely needs "-m".  Will change.

> >  
> >  This command will save your changes away to the `stash`, and
> > diff --git a/git-stash.sh b/git-stash.sh
> > index 8b2ce9afda..8ce6929d7f 100755
> > --- a/git-stash.sh
> > +++ b/git-stash.sh
> > @@ -267,11 +267,11 @@ push_stash () {
> >  			# translation of "error: " takes in your language. E.g. in
> >  			# English this is:
> >  			#
> > -			#    $ git stash save --blah-blah 2>&1 | head -n 2
> > -			#    error: unknown option for 'stash save': --blah-blah
> > -			#           To provide a message, use git stash save -- '--blah-blah'
> > -			eval_gettextln "error: unknown option for 'stash save': \$option
> > -       To provide a message, use git stash save -- '\$option'"
> > +			#    $ git stash push --blah-blah 2>&1 | head -n 2
> > +			#    error: unknown option for 'stash push': --blah-blah
> > +			#           To provide a message, use git stash push -- '--blah-blah'
> > +			eval_gettextln "error: unknown option for 'stash push': \$option
> > +       To provide a message, use git stash push -- '\$option'"
> 
> And here, too?

Indeed, thanks for catching these.  Will change and re-roll the
patches.

> -Peff