README: add example for a git hook and to set the url file - stagit-gopher - A git gopher frontend. (mirror)
 (HTM) git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 4a1c5be06d3e0a487cc43e910093ab690dd33114
 (DIR) parent a07ba959b0f25d75c1bf608c4a55377b2768de61
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Thu,  6 Jul 2017 13:19:47 +0200
       
       README: add example for a git hook and to set the url file
       
       Diffstat:
         M README                              |      43 +++++++++++++++++++++++++++++--
       
       1 file changed, 41 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/README b/README
       @@ -33,7 +33,7 @@ Dependencies
        
        - geomyidae (for .gph file serving).
        - libgit2 (v0.22+).
       -- libc (tested with OpenBSD, FreeBSD, glibc and musl).
       +- libc (tested with OpenBSD, FreeBSD, Linux: glibc and musl).
        - C compiler (C99).
        - make
        
       @@ -66,6 +66,45 @@ make
        make install
        
        
       +Set clone url for a directory of repos
       +--------------------------------------
       +        #!/bin/sh
       +        cd "$dir"
       +        for i in *; do
       +                test -d "$i" && echo "git://git.codemadness.org/$i" > "$i/url"
       +        done
       +
       +
       +Update files on git push
       +------------------------
       +
       +Using a post-receive hook the static files can be automatically updated.
       +Keep in mind git push -f can change the history and the commits may need
       +to be recreated. This is because stagit checks if a commit file already
       +exists. It also has a cache (-c) option which can conflict with the new
       +history. See stagit(1).
       +
       +git post-receive hook (repo/.git/hooks/post-receive):
       +
       +        #!/bin/sh
       +        # detect git push -f
       +        force=0
       +        while read -r old new ref; do
       +                hasrevs=$(git rev-list "$old" "^$new" | sed 1q)
       +                if test -n "$hasrevs"; then
       +                        force=1
       +                        break
       +                fi
       +        done
       +
       +        # remove commits and .cache on git push -f
       +        #if test "$force" = "1"; then
       +        # ...
       +        #fi
       +
       +        # see example.sh for normal creation of the files.
       +
       +
        Create .tar.gz archives by tag
        ------------------------------
                #!/bin/sh
       @@ -90,7 +129,7 @@ Features
        - Make index page for multiple repositories with stagit-gopher-index.
        - After generating the pages (relatively slow) serving the files is very fast,
          simple and requires little resources (because the content is static), only
       -  a Gopher server is required.
       +  a geomyidae Gopher server is required.
        
        
        Cons