Skip to content
  • Brandon Casey's avatar
    git-stash.sh: fix flawed fix of invalid ref handling (commit da65e7c1) · 875471c5
    Brandon Casey authored
    
    
    The referenced commit tried to fix a flaw in stash's handling of a user
    supplied invalid ref. i.e. 'git stash apply fake_ref@{0}' should fail
    instead of applying stash@{0}. But, it did so in a naive way by avoiding the
    use of the --default option of rev-parse, and instead manually supplied the
    default revision if the user supplied an empty command line. This prevented
    a common usage scenario of supplying flags on the stash command line (i.e.
    non-empty command line) which would be parsed by lower level git commands,
    without supplying a specific revision. This should fall back to the default
    revision, but now it causes an error. e.g. 'git stash show -p'
    
    The correct fix is to use the --verify option of rev-parse, which fails
    properly if an invalid ref is supplied, and still allows falling back to a
    default ref when one is not supplied.
    
    Convert stash-drop to use --verify while we're at it, since specifying
    multiple revisions for any of these commands is also an error and --verify
    makes it so.
    
    Signed-off-by: default avatarBrandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: default avatarShawn O. Pearce <spearce@spearce.org>
    875471c5