[PATCH 0/2] git stash drop stash@{2.days.ago}
Junio C Hamano <[email protected]> Wed, 29 Jul 2026 20:41:06 -0700
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
Because 'stash' is implemented in terms of the reflog, it can accept
not only a small integer index (such as 'stash@{4}') but also a
time-based reference. This is not a good thing.
- 'git stash pop stash@{2.days.ago}' picks the first stash entry
that is no younger than the specified time and uses it to modify
the working tree and the index, but then removes all stash
entries that are no younger than that specified time.
- 'git stash drop stash@{2.days.ago}' does the same, except that
no entry is used to affect the working tree and the index.
These two patches forbid passing time-based stash references to the
'git stash drop' and 'git stash pop' commands as minor safety
improvements.
1/2: stash: record positional index in 'struct stash_info'
2/2: stash: reject time-based selectors in drop and pop
Documentation/git-stash.adoc | 8 ++++++++
builtin/stash.c | 18 ++++++++++++++++++
t/t3903-stash.sh | 13 +++++++++++++
3 files changed, 39 insertions(+)
--
2.55.0-597-ge6126a35d6