threads / discuss / 49979

why doesn't "git reset" mention optional pathspec?

Subject: why doesn't "git reset" mention optional pathspec?

## tl;dr

8 messages between Dec 8, 2018 and Dec 9, 2018.

replies: 7people: 3as markdown or json

Robert P. J. Day· Dec 8, 2018, 16:05 UTC · lore
  from "man git-reset":
SYNOPSIS
  git reset [-q] [<tree-ish>] [--] <paths>...
  git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
  git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

oddly, the third form says nothing about possible "<paths>", even though i'm pretty sure they're valid in that third case (at least for "--mixed"). thoughts? is that just an oversight in the man page?

rday
-- 
========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================
Duy Nguyen· Dec 8, 2018, 17:28 UTC · re: Robert P. J. Day · lore

Re: why doesn't "git reset" mention optional pathspec?

On Sat, Dec 8, 2018 at 5:08 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
Show 12 quoted lines
>
>
>   from "man git-reset":
>
> SYNOPSIS
>   git reset [-q] [<tree-ish>] [--] <paths>...
>   git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
>   git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
>
> oddly, the third form says nothing about possible "<paths>", even
> though i'm pretty sure they're valid in that third case (at least for
> "--mixed"). thoughts? is that just an oversight in the man page?

--mixed prints a deprecation warning. I don't think it's worth making the synopsis more complicated for that. All other modes reject pathspec.

-- 
Duy
Robert P. J. Day· Dec 8, 2018, 17:32 UTC · re: Duy Nguyen · lore

Re: why doesn't "git reset" mention optional pathspec?

On Sat, 8 Dec 2018, Duy Nguyen wrote:
Show 18 quoted lines
> On Sat, Dec 8, 2018 at 5:08 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> >
> >   from "man git-reset":
> >
> > SYNOPSIS
> >   git reset [-q] [<tree-ish>] [--] <paths>...
> >   git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
> >   git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
> >
> > oddly, the third form says nothing about possible "<paths>", even
> > though i'm pretty sure they're valid in that third case (at least
> > for "--mixed"). thoughts? is that just an oversight in the man
> > page?
>
> --mixed prints a deprecation warning. I don't think it's worth
> making the synopsis more complicated for that. All other modes
> reject pathspec.
  i just tested this, and i don't see a deprecation warning.
rday
-- 
========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================
Duy Nguyen· Dec 8, 2018, 17:34 UTC · re: Robert P. J. Day · lore

Re: why doesn't "git reset" mention optional pathspec?

On Sat, Dec 8, 2018 at 6:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
Show 23 quoted lines
>
> On Sat, 8 Dec 2018, Duy Nguyen wrote:
>
> > On Sat, Dec 8, 2018 at 5:08 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> > >
> > >
> > >   from "man git-reset":
> > >
> > > SYNOPSIS
> > >   git reset [-q] [<tree-ish>] [--] <paths>...
> > >   git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
> > >   git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
> > >
> > > oddly, the third form says nothing about possible "<paths>", even
> > > though i'm pretty sure they're valid in that third case (at least
> > > for "--mixed"). thoughts? is that just an oversight in the man
> > > page?
> >
> > --mixed prints a deprecation warning. I don't think it's worth
> > making the synopsis more complicated for that. All other modes
> > reject pathspec.
>
>   i just tested this, and i don't see a deprecation warning.
Hmm.. maybe I misread the code. I just tried it

$ ./git reset --mixed HEAD foo warning: --mixed with paths is deprecated; use 'git reset -- <paths>' instead.

-- 
Duy
Robert P. J. Day· Dec 8, 2018, 17:37 UTC · re: Duy Nguyen · lore

Re: why doesn't "git reset" mention optional pathspec?

On Sat, 8 Dec 2018, Duy Nguyen wrote:
Show 29 quoted lines
> On Sat, Dec 8, 2018 at 6:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> > On Sat, 8 Dec 2018, Duy Nguyen wrote:
> >
> > > On Sat, Dec 8, 2018 at 5:08 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> > > >
> > > >
> > > >   from "man git-reset":
> > > >
> > > > SYNOPSIS
> > > >   git reset [-q] [<tree-ish>] [--] <paths>...
> > > >   git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
> > > >   git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
> > > >
> > > > oddly, the third form says nothing about possible "<paths>", even
> > > > though i'm pretty sure they're valid in that third case (at least
> > > > for "--mixed"). thoughts? is that just an oversight in the man
> > > > page?
> > >
> > > --mixed prints a deprecation warning. I don't think it's worth
> > > making the synopsis more complicated for that. All other modes
> > > reject pathspec.
> >
> >   i just tested this, and i don't see a deprecation warning.
>
> Hmm.. maybe I misread the code. I just tried it
>
> $ ./git reset --mixed HEAD foo
> warning: --mixed with paths is deprecated; use 'git reset -- <paths>' instead.
  weird ... i just tried this two ways, explicitly specifying
"--mixed" and also without (which is the default mode, right?), and i
got the deprecated message with the first but not the second. that
seems ... odd.
rday
-- 
========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================
Duy Nguyen· Dec 8, 2018, 18:17 UTC · re: Robert P. J. Day · lore

Re: why doesn't "git reset" mention optional pathspec?

On Sat, Dec 8, 2018 at 6:37 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
Show 37 quoted lines
>
> On Sat, 8 Dec 2018, Duy Nguyen wrote:
>
> > On Sat, Dec 8, 2018 at 6:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> > >
> > > On Sat, 8 Dec 2018, Duy Nguyen wrote:
> > >
> > > > On Sat, Dec 8, 2018 at 5:08 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> > > > >
> > > > >
> > > > >   from "man git-reset":
> > > > >
> > > > > SYNOPSIS
> > > > >   git reset [-q] [<tree-ish>] [--] <paths>...
> > > > >   git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
> > > > >   git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
> > > > >
> > > > > oddly, the third form says nothing about possible "<paths>", even
> > > > > though i'm pretty sure they're valid in that third case (at least
> > > > > for "--mixed"). thoughts? is that just an oversight in the man
> > > > > page?
> > > >
> > > > --mixed prints a deprecation warning. I don't think it's worth
> > > > making the synopsis more complicated for that. All other modes
> > > > reject pathspec.
> > >
> > >   i just tested this, and i don't see a deprecation warning.
> >
> > Hmm.. maybe I misread the code. I just tried it
> >
> > $ ./git reset --mixed HEAD foo
> > warning: --mixed with paths is deprecated; use 'git reset -- <paths>' instead.
>
>   weird ... i just tried this two ways, explicitly specifying
> "--mixed" and also without (which is the default mode, right?), and i
> got the deprecated message with the first but not the second. that
> seems ... odd.
Without --mixed, you're using the first form
    git reset [-q] [<tree-ish>] [--] <paths>...
which accepts pathspec. If it's not clear, of course patches are welcome.
-- 
Duy
Junio C Hamano· Dec 9, 2018, 01:42 UTC · re: Duy Nguyen · lore

Re: why doesn't "git reset" mention optional pathspec?

Duy Nguyen <pclouds@gmail.com> writes:
Show 5 quoted lines
> Without --mixed, you're using the first form
>
>     git reset [-q] [<tree-ish>] [--] <paths>...
>
> which accepts pathspec. If it's not clear, of course patches are welcome.

Yup. The deprecation is about spelling with "--mixed" when invoking the "restore these paths out of tree-ish (or HEAD when omitted) only in the index" mode. The feature is of course not deprecated (but it might have been better if it were "git checkout --cached").

Robert P. J. Day· Dec 8, 2018, 17:42 UTC · re: Duy Nguyen · lore

Re: why doesn't "git reset" mention optional pathspec?

On Sat, 8 Dec 2018, Duy Nguyen wrote:
Show 29 quoted lines
> On Sat, Dec 8, 2018 at 6:32 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> > On Sat, 8 Dec 2018, Duy Nguyen wrote:
> >
> > > On Sat, Dec 8, 2018 at 5:08 PM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> > > >
> > > >
> > > >   from "man git-reset":
> > > >
> > > > SYNOPSIS
> > > >   git reset [-q] [<tree-ish>] [--] <paths>...
> > > >   git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
> > > >   git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
> > > >
> > > > oddly, the third form says nothing about possible "<paths>", even
> > > > though i'm pretty sure they're valid in that third case (at least
> > > > for "--mixed"). thoughts? is that just an oversight in the man
> > > > page?
> > >
> > > --mixed prints a deprecation warning. I don't think it's worth
> > > making the synopsis more complicated for that. All other modes
> > > reject pathspec.
> >
> >   i just tested this, and i don't see a deprecation warning.
>
> Hmm.. maybe I misread the code. I just tried it
>
> $ ./git reset --mixed HEAD foo
> warning: --mixed with paths is deprecated; use 'git reset -- <paths>' instead.
  my test:
  Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)
  	modified:   README.asc
  	modified:   Rakefile
  $ git reset -- README.asc
  Unstaged changes after reset:
  M	README.asc
  $ git reset --mixed -- Rakefile
  warning: --mixed with paths is deprecated; use 'git reset -- <paths>' instead.
  Unstaged changes after reset:
  M	README.asc
  M	Rakefile
  $
that definitely seems inconsistent.
rday
-- 
========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

← back to recent threads