---
name: "App::KGB::Client::CVS"
section: "3pm"
platform: "linux"
package: "kgb-client"
version: "1.61-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/App::KGB::Client::CVS"
---

# App::KGB::Client::CVS(3pm)

KGB interface to CVS

## NAME

App::KGB::Client::CVS - KGB interface to CVS

## SYNOPSIS

```
    use App::KGB::Client::CVS;
    my $client = App::KGB::Client::CVS(
        # common App::KGB::Client parameters
        repo_id => 'my-repo',
        ...
        # CVS-specific
        cvs_root  => $ENV{CVSROOT},
        author    => $ENV{USER},
        directory => 'module/dir',
    );
    $client->run;
```

## DESCRIPTION

**App::KGB::Client::CVS** provides CVS-specific retrieval of commits and changes for App::KGB::Client.

## CONSTRUCTOR

### new ( { initializers } )

Standard constructor. Accepts inline hash with initial field values.

## FIELDS

App:KGB::Client::CVS defines the following additional fields:

- **cvs\_root** (**mandatory**)

  Physical path to the CVS root directory.

- **author**

  The user name of the commit author.

- **directory**

  Relative (to CVS root) path to the directory this change is in.

  As a convention, the first path member is taken as a module.

## METHODS

- describe\_commit

  The first time this method is called, it parses STDIN and determines commit contents, returning an instance of App::KGB::Commit class describing the commit.

  All subsequential invocations return **undef**.
