Skip to content

Repository files navigation

Captain

travisSwift 5.1

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

About

makes easy to manage git hooks for written in Swift products

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages