From: Alejandro Colomar <alx@kernel.org>
To: git@vger.kernel.org
Subject: Running git(1) from within hooks/post-update
Date: Fri, 24 Nov 2023 15:00:22 +0100 [thread overview]
Message-ID: <ZWCsd3cJZ3LAqOwg@debian> (raw)
[-- Attachment #1: Type: text/plain, Size: 1429 bytes --]
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 &
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/>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next reply other threads:[~2023-11-24 14:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-24 14:00 Alejandro Colomar [this message]
2023-11-24 15:42 ` Running git(1) from within hooks/post-update Alejandro Colomar
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=ZWCsd3cJZ3LAqOwg@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.