There are many configuration variables that determine exactly what a push does. Give the user early feedback so that she has a chance to abort if she doesn't mean to push those refspecs to that destination like: $ git push # pushing refspecs 'master next' to ram (^C to abort) Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- Goes without saying: this is an early preview. builtin/push.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/builtin/push.c b/builtin/push.c index 2d84d10..085d5ab 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -330,6 +330,7 @@ static int do_push(const char *repo, int flags) { int i, errs; struct remote *remote = pushremote_get(repo); + struct strbuf sb = STRBUF_INIT; const char **url; int url_nr; @@ -375,6 +376,11 @@ static int do_push(const char *repo, int flags) } errs = 0; url_nr = push_url_of_remote(remote, &url); + + for (i = 0; i < refspec_nr; i++) + strbuf_addf(&sb, "%s%s", refspec[i], i == refspec_nr - 1 ? "": " "); + printf("# pushing refspecs '%s' to %s (^C to abort)\n", sb.buf, remote->name); + if (url_nr) { for (i = 0; i < url_nr; i++) { struct transport *transport = -- 1.8.3.1.549.g1f3a412.dirty -- 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