{
  "id": "cvs",
  "name": "CVS",
  "homepage": "https://www.nongnu.org/cvs/",
  "description": "Concurrent Versions System.",
  "executables": [
    "cvs"
  ],
  "dotfiles": {
    "paths": [
      "~/.cvsrc"
    ],
    "exclude": [],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "CVS global options",
    "description": "Global options that go before the cvs command. Use the update and commit forms for those jobs; checkout, import and server options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/unstable/cvs/cvs.1.en.html",
        "revision": "Debian unstable cvs(1)",
        "evidence": "-d cvs_root_directory\nUse cvs_root_directory as the root directory pathname of the repository. Overrides the setting of the $CVSROOT environment variable.\n-n\nDo not change any files. Attempt to execute the cvs_command, but only to issue reports\n-q\nCause the command to be somewhat quiet; informational messages, such as reports of recursion through subdirectories, are suppressed.\n-z level\nRequest compression level for network traffic.\n"
      }
    ],
    "field": [
      {
        "id": "root",
        "label": "Repository root",
        "type": "string",
        "option": [
          "-d"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "dry_run",
        "label": "Do not change files",
        "type": "boolean",
        "option": [
          "-n"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet",
        "type": "boolean",
        "option": [
          "-q"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "compression",
        "label": "Compression level",
        "description": "0 disables compression; 1 to 9 trade speed for compression.",
        "type": "integer",
        "option": [
          "-z"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "remote",
        "label": "Remote repository, compressed",
        "fields": [
          "root",
          "quiet",
          "compression"
        ],
        "required": [
          "root"
        ],
        "set": {
          "compression": [
            6
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "root",
          "quiet",
          "compression",
          "dry_run"
        ]
      }
    ],
    "subcommand": [
      {
        "path": [
          "update"
        ],
        "label": "Update working copy",
        "description": "Bring the working directory up to date. Merge, keyword and output-diversion options are left out.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://manpages.debian.org/unstable/cvs/cvs.1.en.html",
            "revision": "Debian unstable cvs(1)",
            "evidence": "-D date_spec\nUse the most recent revision no later than date_spec.\n-l\nLocal; run only in current working directory, rather than recursing through subdirectories.\n-P\nPrune empty directories.\n-r tag\nUse the revision specified by the tag argument\n"
          }
        ],
        "field": [
          {
            "id": "date",
            "label": "Revision date",
            "type": "string",
            "option": [
              "-D"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "tag",
            "label": "Tag or revision",
            "type": "string",
            "option": [
              "-r"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "local",
            "label": "Current directory only",
            "type": "boolean",
            "option": [
              "-l"
            ],
            "sources": [
              "man"
            ]
          },
          {
            "id": "prune",
            "label": "Prune empty directories",
            "type": "boolean",
            "option": [
              "-P"
            ],
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "update",
            "label": "Update",
            "fields": [
              "local",
              "prune"
            ],
            "required": [],
            "set": {
              "prune": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "local",
              "prune",
              "tag",
              "date"
            ]
          }
        ]
      }
    ]
  }
}
