Re: Determining if a file exists in a bare repo

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Determining if a file exists in a bare repo

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:45

Adam Mercer [off-list ref] writes:
Hi

I'm trying to write a post-receive hook that generates some HTML files
from reStructured text files stored in a repository. Essentially I'm
doing this with

git show master:INSTALL | rst2html --no-raw --no-file-insertion >
/path/to/INSTALL.html

However I would like this script to fail gracefully if the INSTALL
file is not available in the repository so would like to check if this
file exists. The problem I'm having is that git-show seems to return a
zero return code even if the file you request doesn't exist
Even if it returned an error status, you are discarding it by placing the
process on the upstream side of the pipe, so your command line above won't
be able to catch an error anyway.  I would probably do something like this
if I were you:

    git rev-parse --verify master:INSTALL >/dev/null 2>&1 &&
    git cat-file blob master:INSTALL | rst2...

Re: Determining if a file exists in a bare repo

From: Adam Mercer <hidden>
Date: 2016-06-15 22:48:45

On Tue, May 4, 2010 at 11:39, Junio C Hamano [off-list ref] wrote:
Even if it returned an error status, you are discarding it by placing the
process on the upstream side of the pipe, so your command line above won't
be able to catch an error anyway.
Sorry I wasn't very clear, first I trying to use git-show if the file
existed and then piping the output to rst2html...
I would probably do something like this
if I were you:

   git rev-parse --verify master:INSTALL >/dev/null 2>&1 &&
   git cat-file blob master:INSTALL | rst2...
Thanks, thats a better approach!

Cheers

Adam
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help