On Thu, Feb 18, 2010 at 02:29:22AM +0100, Patrick Sudowe wrote: > git help 'alias' currently only shows the actual git command > 'alias' refers to. This patch changes the behavior so that > the help for the actual git command is shown. The user usually > knows the aliases defined, and sometimes its just more convenient > to type something like git help co than git help checkout > to find out about some rarely used option. > The original message is still there, so users do not face > unexpected or surprising behavior. Won't the original message get eaten when 'man' starts a pager (I know there are other, non-paged ways of showing the help, but man is the default). > @@ -446,19 +447,22 @@ int cmd_help(int argc, const char **argv, const char *prefix) > alias = alias_lookup(argv[0]); > if (alias && !is_git_command(argv[0])) { > printf("`git %s' is aliased to `%s'\n", argv[0], alias); > - return 0; > + cmd = alias; > + } else { > + cmd = argv[0]; > } > > + > switch (help_format) { > case HELP_FORMAT_NONE: > case HELP_FORMAT_MAN: > - show_man_page(argv[0]); > + show_man_page(cmd); This breaks horribly for all but the simplest of aliases. This works: $ git config alias.co checkout $ git help co But this would need to trim it down to just "log": $ git config alias.lp 'log -p' $ git help lp `git lp' is aliased to `log -p' No manual entry for gitlog -p And this is just impossible: $ git config alias.jive '!sh -c "git log | jive"' $ git help jive `git jive' is aliased to `!sh -c "git log | jive"' No manual entry for git!sh -c "git log | jive" -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