Implementation of a git post-clone hook
Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin Satisfy shellcheck Jun 29, 2017
hooks Remove stray whitespace Jun 29, 2017
test Add script for manual clone instructions Jan 28, 2017
.gitignore Initial commit Jan 28, 2017
LICENSE License change: BSD Jan 28, 2017
README.rst Update readme with proper uri Mar 20, 2017

README.rst

Overview

As git does not provide a post-clone hook, some repositories come with manual instructions for post-clone configuration. This project effectively provides a post-clone hook, allowing project maintaniers to specify a project's post-clone behavior and install other various hooks.

Usage

To clone a repository with post-clone hooks:

curl -fsSL https://raw.githubusercontent.com/git-hook/post-clone/master/bin/clone | bash -s -- <normal-clone-args>

All arguments will be passed directly to git clone.

Manual

  1. Clone this repository somewhere on disk:

    git clone https://github.com/git-hook/post-clone /tmp/post-clone
    
  2. Clone the desired repository:

    git clone --template=/tmp/post-clone git@github.com:username/repo-of-interest
    

In addition to cloning the repository, this method will: ensure

  • if present in the cloned repo, /hooks/ is symlinked to /.git/hooks/

  • if present in the cloned repo, /.git/hooks/post-clone is invoked

    Note: this hook will not be automatically invoked again.

Benefits

Using this post-clone template allows repo maintainers to

  • automate installation of client-side git hooks
  • version-control this automation inside the relevant repository

Acknowledgements

This git hook was inspired by this StackOverflow post.