id = "unison"
name = "Unison"
homepage = "https://github.com/bcpierce00/unison"
description = "A file-synchronization tool for OS X, Unix, and Windows."
executables = ["unison"]
[dotfiles]
paths = []
exclude = []
secret = ["~/.unison/*.prf"]
side_effect = false
[commands]
format = 1
label = "Synchronize two roots"
description = "Synchronize two replicas (paths or ssh:// URIs) with Unison. Per-file preferences, backups, ignore lists and profiles are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "help"
kind = "manual"
url = "https://manpages.debian.org/unstable/unison/unison.1.en.html"
revision = "debian unstable"
evidence = """
All Unison options are long, starting with one dash (`-') only.
-auto
automatically accept default (nonconflicting) actions
-batch
batch mode: ask no questions at all
-group
synchronize group attributes
-owner
synchronize owner
-path xxx
path to synchronize
-silent
print nothing except error messages
-times
synchronize modification times
-prefer
choose this replica's version for conflicting changes
-ignore
add a pattern to the ignore list
-fat
use appropriate options for FAT filesystems
The two roots can be specified using an URI or a path.
"""
[[commands.field]]
id = "root1"
label = "First root"
type = "string"
position = 0
sources = ["help"]
[[commands.field]]
id = "root2"
label = "Second root"
type = "string"
position = 1
sources = ["help"]
[[commands.field]]
id = "batch"
label = "Batch mode (no questions)"
type = "boolean"
option = ["-batch"]
sources = ["help"]
[[commands.field]]
id = "auto"
label = "Accept non-conflicting actions"
type = "boolean"
option = ["-auto"]
sources = ["help"]
[[commands.field]]
id = "prefer"
label = "Prefer replica on conflict"
description = "A root, or a keyword such as newer."
type = "string"
option = ["-prefer"]
sources = ["help"]
[[commands.field]]
id = "path"
label = "Only this path"
type = "string"
option = ["-path"]
multiple = true
sources = ["help"]
[[commands.field]]
id = "ignore"
label = "Ignore pattern"
type = "string"
option = ["-ignore"]
multiple = true
sources = ["help"]
[[commands.field]]
id = "times"
label = "Sync modification times"
type = "boolean"
option = ["-times"]
sources = ["help"]
[[commands.field]]
id = "silent"
label = "Silent"
type = "boolean"
option = ["-silent"]
sources = ["help"]
[[commands.field]]
id = "fat"
label = "FAT filesystem options"
type = "boolean"
option = ["-fat"]
sources = ["help"]
[[commands.task]]
id = "interactive"
label = "Interactive sync"
fields = ["root1", "root2", "times"]
required = ["root1", "root2"]
[[commands.task]]
id = "unattended"
label = "Unattended sync"
fields = ["root1", "root2", "batch", "prefer", "times"]
required = ["root1", "root2"]
set = { batch = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["root1", "root2", "batch", "auto", "prefer", "times"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["path", "ignore", "silent", "fat"]