El 18/12/2007, a las 15:22, Andreas Ericsson escribió:
Johannes Schindelin wrote:
Hi,
On Tue, 18 Dec 2007, Sebastian Harl wrote:
On Mon, Dec 17, 2007 at 04:31:12PM -0800, Junio C Hamano wrote:
But the original point by Sebastian hasn't been answered. He
wanted to make the command list the stash without arguments.
This was discussed already in the early days of stash and there
indeed was a suggestion to do so (I think I sided with that), but
the users did not want it. IIRC, the argument went like: "when I
say 'stash', that is because I want a quick and immediate way to
stash, and I do not want a list. If I do not have to have a
quick way, I would create a temporary commit on the current
branch, or switch to a temporary branch and commit there."
Well, "git stash save" is just five characters more - I really
don't see why this would be less comfortable (and for the really
lazy people there are still aliases...). On the other hand (if
"list" is the default), we'd get a more consistent interface which
imho is imho more important than typing five characters less.
It's more about what you're used to. I had an alias named 'stash'
long before it became a git command. And now guess how _annoying_
it would be to type "git stash<Return><Curse out loud at my
mouse>git stash save<Return>".
Not nearly as annoying as losing work because of it, and you obviously
*know* what to do when you're done cursing, while clueless-newbie-X
just
hops away and uses subversion.
There's not really any peril of losing work here, seeing as this
should be a lossless round trip:
git stash
# oops! didn't mean to save
git stash apply
We could help clueless-newbie-X here by augmenting the save output:
Saved "WIP on master: 8ed8a26... s"
HEAD is now at 8ed8a26... s
As follows (or similar):
Saved working directory and index state "WIP on master: 8ed8a26... s"
(To restore them type "git stash apply")
HEAD is now at 8ed8a26... s
ie. we explicitly tell them what was saved (their working directory
and index state), and also how to get it back immediately if that's
not what they meant to do. Something like this (no doubt will be
whitespace-mangled because I'm pasting this into my email client, but
it's just to demo the idea):
diff --git a/git-stash.sh b/git-stash.sh
index f16fd9c..a2f3723 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -99,7 +99,8 @@ save_stash () {
git update-ref -m "$stash_msg" $ref_stash $w_commit ||
die "Cannot save the current status"
- printf >&2 'Saved "%s"\n' "$stash_msg"
+ printf >&2 'Saved working directory and index state "%s"\n'
"$stash_msg"
+ echo >&2 '(To restore them type "git stash apply")'
}
have_stash () {
Cheers,
Wincent
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html