Subject: Re: [PATCH v4] documentation: add tutorial for first contribution

From: Emily Shaffer <[email-masked]>
Date: Wed, 1 May 2019 17:57:57 -0700

On Tue, Apr 30, 2019 at 11:59:23AM -0700, Josh Steadmon wrote:
> Just a couple typo fixes listed below:
> 

Thanks for the review, Josh.

I'll hold these fixes locally until I either get something more
significant to fix or Junio asks for them before a merge to next, to
reduce spam to the list.

- Emily
> 
> On 2019.04.23 12:34, Emily Shaffer wrote:
> [snip]
> > +=== Implementation
> > +
> > +It's probably useful to do at least something besides printing out a string.
> > +Let's start by having a look at everything we get.
> > +
> > +Modify your `cmd_psuh` implementation to dump the args you're passed:
> > +
> > +----
> > +	int i;
> > +
> > +	...
> > +
> > +	printf(Q_("Your args (there is %d):\n",
> > +		  "Your args (there are %d):\n",
> > +		  argc),
> > +	       argc);
> > +	for (i = 0; i < argc; i++) {
> > +		printf("%d: %s\n", i, argv[i]);
> > +	}
> > +	printf(_("Your current working directory:\n<top-level>%s%s\n"),
> > +	       prefix ? "/" : "", prefix ? prefix : "");
> > +
> > +----
> > +
> > +Build and try it. As you may expect, there's pretty much just whatever we give
> > +on the command line, including the name of our command. (If `prefix` is empty
> > +for you, try `cd Documentation/ && ../bin-wrappers/git/ psuh`). That's not so
> 
> Looks like you have an errant "/" after "git".

Right you are. Thanks.
> 
> 
> [snip]
> > +=== Adding documentation
> > +
> > +Awesome! You've got a fantastic new command that you're ready to share with the
> > +community. But hang on just a minute - this isn't very user-friendly. Run the
> > +following:
> > +
> > +----
> > +$ ./bin-wrappers/git help psuh
> > +----
> > +
> > +Your new command is undocumented! Let's fix that.
> > +
> > +Take a look at `Documentation/git-*.txt`. These are the manpages for the
> > +subcommands that Git knows about. You can open these up and take a look to get
> > +acquainted with the format, but then go ahead and make a new file
> > +`Documentation/git-psuh.txt`. Like with most of the documentation in the Git
> > +project, help pages are written with AsciiDoc (see CodingGuidelines, "Writing
> > +Documentation" section). Use the following template to fill out your own
> > +manpage:
> > +
> > +// Surprisingly difficult to embed AsciiDoc source within AsciiDoc.
> > +[listing]
> > +....
> > +git-psuh(1)
> > +===========
> > +
> > +NAME
> > +----
> > +git-psuh - Delight users' typo with a shy horse
> > +
> > +
> > +SYNOPSIS
> > +--------
> > +[verse]
> > +'git-psuh'
> > +
> > +DESCRIPTION
> > +-----------
> > +...
> > +
> > +OPTIONS[[OPTIONS]]
> > +------------------
> > +...
> > +
> > +OUTPUT
> > +------
> > +...
> > +
> > +
> > +GIT
> > +---
> > +Part of the linkgit:git[1] suite
> > +....
> > +
> > +The most important pieces of this to note are the file header, underlined by =,
> > +the NAME section, and the SYNOPSIS, which would normally contain the grammar if
> > +your command took arguments. Try to use well-established manpage headers so your
> > +documentation is consistent with other Git and UNIX manpages; this makes life
> > +easier for your user, who can skip to the section they know contains the
> > +information they need.
> > +
> > +Now that you've written your manpage, you'll need to build it explicitly. We
> > +convert your AsciiDoc to troff which is man-readable like so:
> > +
> > +----
> > +$ make all doc
> > +$ man Documentation/git-psuh.1
> > +----
> > +
> > +or
> > +
> > +----
> > +$ make -C Documentation/git-psuh.1
> 
> Needs a space after "Documentation/".

Done. Thanks much.