Files
converge/package.yaml
T
jbrechtel 7feff5abfa converge: phase 2 — SSE relay client for realtime pull on push
- RepoConfig gains rcGiteaRepo :: Maybe Text for relay matching
- Options gains optRelayUrl :: Maybe Text (--relay-url CLI, relay_url config)
- connectRelay connects to converge-relay SSE endpoint, parses push events,
  triggers gitPull on matching repos (by gitea_repo + branch)
- Exponential backoff reconnection (1s .. 60s) on disconnect/error
- Skips pull if repo is mid-operation (merge/rebase/etc.)
- Dependencies: http-client, http-client-tls, http-types, aeson, bytestring
- SSE parser handles event:/data: fields, blank-line delimiters, CRLF endings
- Updated SPEC.md, example config, and help text
2026-05-14 14:13:43 -04:00

74 lines
1.4 KiB
YAML

name: converge
version: 0.1.0.0
synopsis: Auto-sync a git repository by watching for changes, committing, and pulling
description: |
Converge watches a git repository for file changes, automatically
commits them, and pulls from the remote. It notifies the user via
libnotify/notify-send when merge conflicts arise.
author: James Brechtel
maintainer: james@flipstone.com
copyright: 2026 James Brechtel
license: BSD-3-Clause
default-extensions:
- OverloadedStrings
- RecordWildCards
- ScopedTypeVariables
- TupleSections
ghc-options:
- -Wall
- -Wcompat
- -Widentities
- -Wincomplete-record-updates
- -Wincomplete-uni-patterns
- -Wmissing-export-lists
- -Wmissing-home-modules
- -Wpartial-fields
- -Wredundant-constraints
dependencies:
- base >= 4.7 && < 5
- aeson
- async
- bytestring
- directory
- filepath
- fsnotify
- http-client
- http-client-tls
- http-types
- optparse-applicative
- process
- text
- time
- unix
- yaml
library:
source-dirs: src
executables:
converge:
main: Main.hs
source-dirs: app
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- converge
tests:
converge-test:
main: Spec.hs
source-dirs: test
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- converge
- hspec
- temporary