Actually, I think the solution you offered exposed what could be considered a bug in git-rev-parse. The fact that it worked before was just an happy accident, I think...
$ ARGS="-q --index stash@{0}"
$ # Get only the revision arguments
$ git rev-parse --no-flags --symbolic $ARGS
stash@{0}
$ # What git-stash currently uses to get flags
$ git rev-parse --no-revs -- $ARGS
--
-q
--index
stash@{0}
$ # That was a lot more than just the flags
$ # What git-stash "should" use to get flags
$ git rev-parse --no-revs --flags $ARGS
--index
$ # Huh, it ate -q, let's try --
$ git rev-parse --no-revs --flags -- $ARGS
$ # No, that's not right either...
git-stash's current code "FLAGS=$(git rev-parse --no-revs -- "$@")" simply returns all of the arguments including a starting --. The issue is that git-rev-parse eats a -q parameter. There's no way to distinguish between arguments for rev-parse and arguments it's supposed to parse. Generally this isn't an issue.
The simple way to deal with this is to check for -q before using rev-parse. The better way is to either get rev-parse to stop eating the -q somehow or to switch git-stash to parseopts.
Simple patch coming soon.
~~ Brian
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html