Hey, On Sun, Jun 13, 2010 at 11:30 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > I am lazy, and I loathe having to maintain another hardcoded table (let > alone sequence of print_command() calls, like this patch does, yuck). > Sorry, but it seemed to me this would have to be separately maintained anyhow, plus it doesn't change much. How often are basic commands going to be added or removed? Also, it may not be that pretty, but it's undeniably clear. > The two words, "21" and "group", in your proposed commit log message have > been nagging me for a while, and I finally figured out why this patch made > me feel very disturbed. We already have a perfect source to generate the > necessary most commonly used command list with a good grouping hint, but > the patch does not make use of it. The only issue I would have with this statement is the word 'perfect'. To disambiguate what we're talking about here, this is the output that is generated from this new patch: Some commonly used git commands per developer roles are: * Individual Developer (Standalone) init Create an empty git repository or reinitialize an existing one show-branch Show branches and their commits log Show commit logs checkout Checkout a branch or paths to the working tree add Add file contents to the index diff Show changes between commits, commit and working tree, etc commit Record changes to the repository reset Reset current HEAD to the specified state merge Join two or more development histories together rebase Forward-port local commits to the updated upstream head tag Create, list, delete or verify a tag object signed with GPG * Individual Developer (Participant) clone Clone a repository into a new directory pull Fetch from and merge with another repository or a local branch push Update remote refs along with associated objects format-patch Prepare patches for e-mail submission * Integrator am Apply a series of patches from a mailbox revert Revert an existing commit * Repository Administration daemon A really simple server for git repositories shell Restricted login shell for GIT-only SSH access Though the implementation of the solution is undeniably more elegant, I have some serious issues with the output. As you mention next, 'show-branches' is second in the list, which is an issue, but there are several more. 'am', 'revert', 'daemon', 'shell', 'rebase' - none of these are appropriate for someone running 'git' and trying to see where to start. If we put those aside, all we have is a big list of commands again which adds almost no value to what we had before. > If readers notice that there are some commands that are out of fashion > (e.g. I don't think many people use show-branch anymore in the presence of > "log --oneline --graph" and friends) listed in the "git help" output, that > is a _good thing_. It will give us an incentive to keep the Everyday > document up to date, and with the effort spent for that, "git help" will > automatically be kept up to date as well for free ;-) That's a fine goal, but I feel like it shouldn't be an "everyday" document that generates that output, it should be a "beginner" document or a "how to start using Git" document that isn't really in the Git source. I mean, I suppose we could write one with the goal of using it to generate the help output, but given how much people disagreed with even the basic grouping of the first patch I sent, I can't see how we're going to agree on a new help doc. Perhaps we should decide on what we would ultimately like the basic help output to look like and then I can craft a document that would produce it given this patch and then the list can rip it apart until it's basically acceptable. Thoughts? Scott -- 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