Aditya M P
Aditya M P

Reputation: 5367

Why are git-stash options not prefixed with dashes?

Most commands I've worked with use dashes to receive option argumentses:

git branch --all
git checkout --quiet
git apply --verbose
.
.
and so on

Whereas git-stash is different, it takes what I'd categorize as 'options' without dashes:

git stash list
git stash show
git stash drop
.
.

What is the reason behind this (imho) inconsistency? Are list, show, drop different sort of arguments than all, quiet or verbose?

Upvotes: 3

Views: 160

Answers (2)

Useless
Useless

Reputation: 67812

git stash list|drop|show etc. are not option arguments, they're commands.

In git branch [--all], branch is the command (or verb), and all qualifies it.

In git stash save however, save is the verb: stash names a subsystem which implements this command.

Compare git submodule: this is another subsystem with its own commands.

Upvotes: 9

Max Leske
Max Leske

Reputation: 5125

They are distinct commands, not different views on / modifications of a command. Therefore I think it's correct that Git does not use the option syntax here.

Upvotes: 1

Related Questions