Captain
makes easy to manage git hooks for written in Swift products
Install / Use
/learn @yanamura/CaptainREADME
Captain
<p> <a href="https://travis-ci.org/yanamura/Captain"> <img src="https://travis-ci.org/yanamura/Captain.svg?branch=master" alt="travis"> </a> <a href="https://swift.org"> <img src="http://img.shields.io/badge/swift-5.1-brightgreen.svg" alt="Swift 5.1"> </a> </p>Captain makes easy to manage git hooks
Install
Using Mint
if you want to install globally, use Mint
$ mint install yanamura/Captain
Using SwiftPackageManager
/// Package.swift
dependencies: [
...
.package(url: "https://github.com/yanamura/Captain"),
]
$ swift build --package-path <path to Package.swift> -c release
executable binary will be created to ./build/release/captain
Usage
Configuration
create .captain onproject root directory.
/ProjectDir
/.git
.gitignore
.captain
.git directory and .captain file should be in same location.
.captain
{
"pre-commit": "swift-format -r Sources -i"
}
or
{
"pre-commit": [
"swift-format -r Sources -i",
"git add ."
]
}
supported hooks
- applypatch-msg
- pre-applypatch
- post-applypatch
- pre-commit
- prepare-commit-msg
- commit-msg
- post-commit
- pre-rebase
- post-checkout
- post-merge
- pre-push
- pre-receive
- update
- post-receive
- post-update
- push-to-checkout
- pre-auto-gc
- post-rewrite
- sendemail-validat
Set Git Hooks
$ captain install
Using Swift Package Manager
/// Package.swift
dependencies: [
...
.package(url: "https://github.com/yanamura/Captain"),
]
$ swift run --package-path <path to Package.swift> -c release captain install
Using Mint
$ mint run yanamura/Captain captain install
Unset Git Hooks
$ captain uninstall
