All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: git@vger.kernel.org
Subject: Re: Running git(1) from within hooks/post-update
Date: Fri, 24 Nov 2023 16:42:16 +0100	[thread overview]
Message-ID: <ZWDEWDTtiFYAYp2P@debian> (raw)
In-Reply-To: <ZWCsd3cJZ3LAqOwg@debian>

[-- Attachment #1: Type: text/plain, Size: 1873 bytes --]

On Fri, Nov 24, 2023 at 03:00:22PM +0100, Alejandro Colomar wrote:
> Hi,
> 
> I'm trying to set up a post-update hook to produce a build of the Linux
> man-pages PDF book after every push to my personal server to the 'main'
> branch, so that I can serve man-pages-HEAD.pdf at some URL, for users to
> be able to easily check the manual at git HEAD without having to clone
> the repo.
> 
> I thought of having a git non-bare repo where I build it, so the script
> would be the following (the paths are tmp, because I'm still testing).
> 
> 	$ cat post-update 
> 	#!/bin/sh
> 
> 	test "$1" = "refs/heads/main" || exit 0;
> 
> 	cd ~/tmp/man-pages/;
> 
> 	whoami; pwd; ls -ld .git/;  # This is for debugging.
> 
> 	git fetch srv			#>/dev/null 2>&1;
> 	git reset srv/main --hard	#>/dev/null 2>&1;
> 	git clean -dffx			#>/dev/null 2>&1;
> 	scripts/LinuxManBook/build.sh	>~/tmp/LMB-HEAD.pdf &

The script works fine when called manually.  It seems it's calling it
as a hook that fails.  It seems it's running git(1) from within a
post-update hook that is problematic.  Is that expected, or is it a bug,
and can it be fixed?

> 
> But it's not working.  The git(1) calls are failing, saying it's not a
> git repo, but it clearly is, and I have permissions, so I don't
> understand what's going wrong.  Here's the 'remote:' output of a push to
> that testing server:
> 
> 	remote: alx
> 	remote: /home/alx/tmp/man-pages
> 	remote: drwxr-xr-x 8 alx alx 4096 Nov 24 14:41 .git/
> 	remote: fatal: not a git repository: '.'
> 	remote: fatal: not a git repository: '.'
> 	remote: fatal: not a git repository: '.'
> 	remote: hooks/post-update: 12: ./scripts/LinuxManBook/build.sh: not found
> 
> Can you please help?  :)
> 
> Thanks,
> Alex
> 
> -- 
> <https://www.alejandro-colomar.es/>



-- 
<https://www.alejandro-colomar.es/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2023-11-24 15:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-24 14:00 Running git(1) from within hooks/post-update Alejandro Colomar
2023-11-24 15:42 ` Alejandro Colomar [this message]
2023-11-24 15:49   ` Alejandro Colomar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZWDEWDTtiFYAYp2P@debian \
    --to=alx@kernel.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.