git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Show html help with git-help --html

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 4, 2007, 08:10 UTC
Message-ID
<7vps4cjg1w.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070602015341.GA26520@localhost.myhome.westell.com>
Show 10 quoted lines
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 3d8f03d..2ec8545 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -261,6 +261,18 @@ core.excludeFile::
> ...
> +core.htmlprogram::
> +	Specify the program used to open html help files when 'git-help'
> +	is called with option --html or core.help is other than 'man'.
> +	By default, xdg-open will be used.

Is the program's calling convention something that needs to be customizable for this to be useful?

Show 12 quoted lines
> diff --git a/Makefile b/Makefile
> index cac0a4a..43e0d15 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -145,6 +145,7 @@ prefix = $(HOME)
>  bindir = $(prefix)/bin
>  gitexecdir = $(bindir)
>  sharedir = $(prefix)/share/
> +htmldir = $(sharedir)/html/
>  template_dir = $(sharedir)/git-core/templates/
>  ifeq ($(prefix),/usr)
>  sysconfdir = /etc

Is it customary to have HTMLized documentation material for different packages all together in a single .../share/html/ directory, like manpages are placed in share/man/man1/ directory? I somehow had an impression that a layout to have html directory per package (i.e. share/doc/$pkg/html/) was more common. I dunno.

Show 31 quoted lines
> diff --git a/help.c b/help.c
> index 6a9af4d..e3e705b 100644
> --- a/help.c
> +++ b/help.c
> @@ -183,6 +187,36 @@ static void show_man_page(const char *git_cmd)
>  	execlp("man", "man", page, NULL);
>  }
>  
> +static void show_html_page(const char *git_cmd)
> +{
> +	const char *html_dir;
> +	int i,len,ret;
> +	char *p;
> +
> +	html_dir = HTML_DIR;
> +	if (!html_help_program)
> +		html_help_program = "xdg-open";
> +
> +	/* html_help_program space html_dir git- git_cmd .html */
> +	len = strlen(html_help_program) + 1 + strlen(html_dir) + 4 + strlen(git_cmd) + 5;
> +	p = xmalloc(len + 1);
> +
> +	strcpy(p, html_help_program);
> +	strcat(p," ");
> +	strcat(p,html_dir);
> +	if (prefixcmp(git_cmd, "git"))
> +		strcat(p,"git-");
> +	strcat(p,git_cmd);
> +	strcat(p,".html");
> +
> +	ret = system(p);
This is sloppy in the presense of potentially unsafe characters...
Previous: Junio C HamanoNext: Nguyen Thai Ngoc Duy
Message 3 of 6 in “Show html help with git-help --html”
  1. Show html help with git-help --htmlNguyễn Thái Ngọc Duy, Jun 2, 2007
  2. Junio C HamanoJun 3, 2007
  3. Junio C HamanoJun 4, 2007
  4. Nguyen Thai Ngoc DuyJun 4, 2007
  5. Junio C HamanoJun 4, 2007
  6. Nguyen Thai Ngoc DuyJun 4, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.