update to use -a and desired for hard reset
[puppet_vcsrepo.git] / README.CVS.markdown
1 Using vcsrepo with CVS
2 ======================
3
4 To create a blank repository
5 ----------------------------
6
7 Define a `vcsrepo` without a `source` or `revision`:
8
9     vcsrepo { "/path/to/repo":
10       ensure => present,
11       provider => cvs
12     }
13
14 To checkout/update from a repository
15 ------------------------------------
16
17 To get the current mainline:
18
19     vcsrepo { "/path/to/workspace":
20         ensure => present,
21         provider => cvs,
22         source => ":pserver:anonymous@example.com:/sources/myproj"
23     }
24     
25 To get a specific module on the current mainline:
26
27     vcsrepo {"/vagrant/lockss-daemon-source":
28         ensure   => present,
29         provider => cvs,
30         source   => ":pserver:anonymous@lockss.cvs.sourceforge.net:/cvsroot/lockss",
31         module   => "lockss-daemon",
32     }
33
34
35 You can use the `compression` parameter (it works like CVS `-z`):
36
37     vcsrepo { "/path/to/workspace":
38         ensure => present,
39         provider => cvs,
40         compression => 3,
41         source => ":pserver:anonymous@example.com:/sources/myproj"
42     }
43
44 For a specific tag, use `revision`:
45
46     vcsrepo { "/path/to/workspace":
47         ensure => present,
48         provider => cvs,
49         compression => 3,
50         source => ":pserver:anonymous@example.com:/sources/myproj",
51         revision => "SOMETAG"
52     }
53
54 For sources that use SSH
55 ------------------------
56
57 Manage your SSH keys with Puppet and use `require` in your `vcsrepo`
58 to ensure they are present.  For more information, see the `require`
59 metaparameter documentation[1].
60
61 More Examples
62 -------------
63
64 For examples you can run, see `examples/cvs/`
65
66 [1]: http://docs.puppetlabs.com/references/stable/metaparameter.html#require