---
name: "VCP::Dest::revml"
section: "3pm"
platform: "linux"
package: "libvcp-perl"
version: "0.9-20050110-1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/VCP::Dest::revml"
---

# VCP::Dest::revml(3pm)

Outputs versioned files to a revml file

## NAME

VCP::Dest::revml - Outputs versioned files to a revml file

## SYNOPSIS

```
   revml:[<output-file>]
   revml:[<output-file>] --dtd <revml.dtd>
   revml:[<output-file>] --version <version>
   revml:[<output-file>] --compress
   revml:[<output-file>] --no-indent
```

## DESCRIPTION

## OPTIONS

- \--dtd

  ```
     --dtd=revml.dtd
     --version=0.33
  ```

  The --dtd (or --version) option causes the output to be checked against a particular version of revml.  This does *not* cause output to be in  that version, but makes sure that output is compliant with that version.

- \--compress

  Generate a gzipped revml file as output.  Requires gzip be installed on the machine.

  If the output filename ends in ".gz", the output will be compressed  even if the --compress flag isn't present.

- \--no-indent

  Makes the revml output with all the start tags flush left rather than indented to indicate the tree structure.

## EXTERNAL METHODS

- new

  Creates a new instance.  The only parameter is '-dtd', which overrides the default DTD found by searching for modules matching RevML::DTD:v\*.pm.

  Attempts to create the output file if one is specified.

- ui\_set\_revml\_repo\_spec

  set the repo\_spec, but die if no good. this should be called from a ui handler that will handle exceptions.

## LIMITATIONS

Can consume all available memory and disk space because this driver keeps all old revisions around (metadata in RAM, file images on disk) so that *diff()*s may be run against the parent revision when a branch is made.

This behavior is not completely necessary, but because RevML is currently only used for testing and analysis of small filesets, this limitation is acceptable.

We can add a command line option to disable this behavior by limiting (to 0 or to some cache size) the number of revs kept around and letting files that have no previous rev handy be emitted in their entirety instead of use a diff.  We could also use an on-disk store for the metadata if that would help.  Let us know your needs.

## AUTHOR

Barrie Slaymaker \<barries@slaysys.com\>

## COPYRIGHT

Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.

See VCP::License (`"vcp help license"`) for the terms of use.
