On Tue, Feb 19, 2008 at 04:14:35PM +0000, Johannes Schindelin wrote: > Subject: [PATCH(TIC)] push: annoy all users by deprecating the default Heh. It is a good sign that git has made the patch-generation workflow so pleasant to use that we are willing to make patches for the sake of humor. :) > FWIW I would resist, just because that config option would change > the _semantics_ of a git program. > > Just think about the IRC channel. "How do I update only HEAD?" -- > "Just say 'git push'" -- "No, that updates nothing" -- "Well, > works here" -- "But not here!" ... "Can _nobody_ help me?" Just say "git push origin HEAD"? > diff --git a/builtin-push.c b/builtin-push.c > index c8cb63e..7bcb141 100644 > --- a/builtin-push.c > +++ b/builtin-push.c > @@ -134,6 +134,14 @@ int cmd_push(int argc, const char **argv, const char *prefix) > flags |= TRANSPORT_PUSH_ALL; > if (mirror) > flags |= (TRANSPORT_PUSH_MIRROR|TRANSPORT_PUSH_FORCE); > + if (!all && argc < 2) > + warning("Pushing without branch names is deprecated.\n" > + "Too many users just assumed what it should do\n" > + "according to them, got burned, and blamed us,\n" > + "the good git developers.\n\n" > + "So everybody has to suffer now, and get used to\n" > + "new semantics.\n\n" > + "Thank you for your time.\n"); > > if (argc > 0) { > repo = argv[0]; You forgot to add a "--matching" option in case people want to explicitly request the old behavior. ;P Seriously, though, I think it is not just new users. It is that for some (many? most?) people, wanting to push just the HEAD is the _normal_ workflow. So they must remember to always say "git push origin HEAD", and if they ever forget, the side effects are non-trivial to clean up. -Peff - 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