git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 9/9] Documentation: git stash branch now tolerates non-stash references.

From
Jon Seymour <jon.seymour@gmail.com>
Date
Aug 10, 2010, 00:04 UTC
Message-ID
<1281398688-21008-10-git-send-email-jon.seymour@gmail.com>
In-Reply-To
<1281242771-24764-1-git-send-email-jon.seymour@gmail.com>

Update the documentation to indicate that git stash branch only attempts to drop the specified stash if it looks like stash reference.

Also changed the synopsis to more clearly indicate which commands require a stash entry reference as opposed to merely a stash-like commit.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
---
 Documentation/git-stash.txt |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt
index 473889a..499ac48 100644
--- a/Documentation/git-stash.txt
+++ b/Documentation/git-stash.txt
@@ -9,10 +9,11 @@ SYNOPSIS
 --------
 [verse]
 'git stash' list [<options>]
-'git stash' show [<stash>]
-'git stash' drop [-q|--quiet] [<stash>]
-'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
-'git stash' branch <branchname> [<stash>]
+'git stash' show [<stash-like>]
+'git stash' drop [-q|--quiet] [<stash-entry>]
+'git stash' pop [--index] [-q|--quiet] [<stash-entry>]
+'git stash' apply [--index] [-q|--quiet] [<stash-like>]
+'git stash' branch <branchname> [<stash-like>]
 'git stash' [save [--patch] [-k|--[no-]keep-index] [-q|--quiet] [<message>]]
 'git stash' clear
 'git stash' create
@@ -80,15 +81,15 @@ stash@{1}: On master: 9cc0589... Add git-stash
 The command takes options applicable to the 'git log'
 command to control what is shown and how. See linkgit:git-log[1].
 
-show [<stash>]::
+show [<stash-like>]::
 
 	Show the changes recorded in the stash as a diff between the
-	stashed state and its original parent. When no `<stash>` is given,
+	stashed state and its original parent. When no `<stash-like>` is given,
 	shows the latest one. By default, the command shows the diffstat, but
 	it will accept any format known to 'git diff' (e.g., `git stash show
 	-p stash@\{1}` to view the second most recent stash in patch form).
 
-pop [--index] [-q|--quiet] [<stash>]::
+pop [--index] [-q|--quiet] [<stash-entry>]::
 
 	Remove a single stashed state from the stash list and apply it
 	on top of the current working tree state, i.e., do the inverse
@@ -104,19 +105,21 @@ tree's changes, but also the index's ones. However, this can fail, when you
 have conflicts (which are stored in the index, where you therefore can no
 longer apply the changes as they were originally).
 +
-When no `<stash>` is given, `stash@\{0}` is assumed.
+When no `<stash-entry>` is given, `stash@\{0}` is assumed.
 
-apply [--index] [-q|--quiet] [<stash>]::
+apply [--index] [-q|--quiet] [<stash-like>]::
 
-	Like `pop`, but do not remove the state from the stash list.
+	Like `pop`, but do not remove the state from the stash list. Unlike `pop`,
+	the `<stash-like>` argument can be any commit that looks like a stash, for
+	example, a stash created with `create`.
 
-branch <branchname> [<stash>]::
+branch <branchname> [<stash-like>]::
 
 	Creates and checks out a new branch named `<branchname>` starting from
-	the commit at which the `<stash>` was originally created, applies the
-	changes recorded in `<stash>` to the new working tree and index, then
-	drops the `<stash>` if that completes successfully. When no `<stash>`
-	is given, applies the latest one.
+	the commit at which the `<stash-like>` was originally created, applies the
+	changes recorded in `<stash-like>` to the new working tree and index, then
+	drops the `<stash-like>` if that completes successfully and `<stash-like>`
+	is also a stash entry. When no `<stash-like>` is given, applies the latest one.
 +
 This is useful if the branch on which you ran `git stash save` has
 changed enough that `git stash apply` fails due to conflicts. Since
@@ -129,9 +132,9 @@ clear::
 	be subject to pruning, and may be impossible to recover (see
 	'Examples' below for a possible strategy).
 
-drop [-q|--quiet] [<stash>]::
+drop [-q|--quiet] [<stash-entry>]::
 
-	Remove a single stashed state from the stash list. When no `<stash>`
+	Remove a single stashed state from the stash list. When no `<stash-entry>`
 	is given, it removes the latest one. i.e. `stash@\{0}`
 
 create::
-- 
1.6.5.rc3.8.g8ba5e
Previous: Jon SeymourNext: Junio C Hamano
Message 28 of 30 in “stash: modifiy handling of stash-like references”
  1. 0/9 stash: modifiy handling of stash-like referencesJon Seymour, Aug 8, 2010
  2. 1/9 stash: refactor - create pop_stash functionJon Seymour, Aug 8, 2010
  3. 2/9 stash: extract stash-like check into its own functionJon Seymour, Aug 8, 2010
  4. 3/9 stash: introduce is_stash_ref and assert_stash_ref functions.Jon Seymour, Aug 8, 2010
  5. 4/9 stash: teach git stash pop to fail early if the argument is not a stash refJon Seymour, Aug 8, 2010
  6. 5/9 stash: teach git stash drop to fail early if the specified revision is not a stash referenceJon Seymour, Aug 8, 2010
  7. 6/9 stash: teach git stash branch to tolerate stash-like argumentsJon Seymour, Aug 8, 2010
  8. 7/9 stash: teach git stash show to always tolerate stash-like arguments.Jon Seymour, Aug 8, 2010
  9. 8/9 t3903-stash.sh: tests of git stash with stash-like argumentsJon Seymour, Aug 8, 2010
  10. Johannes SixtAug 8, 2010
  11. Jon SeymourAug 8, 2010
  12. 9/9 Documentation: git stash branch now tolerates non-stash references.Jon Seymour, Aug 8, 2010
  13. Jon SeymourAug 8, 2010
  14. 0/9 stash: modifiy handling of stash-like referencesJon Seymour, Aug 10, 2010
  15. 1/9 stash: refactor - create pop_stash functionJon Seymour, Aug 10, 2010
  16. 2/9 stash: extract stash-like check into its own functionJon Seymour, Aug 10, 2010
  17. Junio C HamanoAug 13, 2010
  18. Jon SeymourAug 13, 2010
  19. 3/9 stash: introduce is_stash_ref and assert_stash_ref functions.Jon Seymour, Aug 10, 2010
  20. Junio C HamanoAug 13, 2010
  21. Jon SeymourAug 14, 2010
  22. 4/9 stash: teach git stash pop to fail early if the argument is not a stash refJon Seymour, Aug 10, 2010
  23. 5/9 stash: teach git stash drop to fail early if the specified revision is not a stash referenceJon Seymour, Aug 10, 2010
  24. 6/9 stash: teach git stash branch to tolerate stash-like argumentsJon Seymour, Aug 10, 2010
  25. 7/9 stash: teach git stash show to always tolerate stash-like arguments.Jon Seymour, Aug 10, 2010
  26. Junio C HamanoAug 13, 2010
  27. 8/9 t3903-stash.sh: tests of git stash with stash-like argumentsJon Seymour, Aug 10, 2010
  28. 9/9 Documentation: git stash branch now tolerates non-stash references.Jon Seymour, Aug 10, 2010
  29. Junio C HamanoAug 13, 2010
  30. Jon SeymourAug 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.