Jon Seymour <jon.seymour@xxxxxxxxx> writes: > A similar code block is used in three places; this change > factors the stash-like check into a separate function so that > it can be used in these and other places. "git stash show" used to be able to show a single-parent commit, and we are forbidding that "feature". I'd actually call that a bugfix though ;-) > +# if this function returns, then: > +# s is set to the stash commit > +# w_commit is set to the commit containing the working tree > +# b_commit is set to the base commit > +# i_commit is set to the commit containing the index tree > +# otherwise: > +# the function exits via die > +# > +assert_stash_like() { > + # stash records the work tree, and is a merge between the > + # base commit (first parent) and the index tree (second parent). > + s=$(git rev-parse --revs-only --quiet --verify --default $ref_stash "$@") && > + w_commit=$(git rev-parse --quiet --verify "$s:") && > + b_commit=$(git rev-parse --quiet --verify "$s^1:") && > + i_commit=$(git rev-parse --quiet --verify "$s^2:") || > + die "$*: no valid stashed state found" Don't these "rev-parse" calls return tree objects? It is too confusing to call them x_commit if that is the case. -- 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