Merge pull request #81 from sepulworld/svn-configurtation-parameter
[puppet_vcsrepo.git] / README.SVN.markdown
1 Using vcsrepo with Subversion
2 =============================
3
4 To create a blank repository
5 ----------------------------
6
7 To create a blank repository suitable for use as a central repository,
8 define a `vcsrepo` without a `source` or `revision`:
9
10     vcsrepo { "/path/to/repo":
11       ensure   => present,
12       provider => svn
13     }
14
15 To checkout from a repository
16 -----------------------------
17
18 Provide a `source` qualified to the branch/tag you want:
19
20     vcsrepo { "/path/to/repo":
21         ensure   => present,
22         provider => svn,
23         source   => "svn://svnrepo/hello/branches/foo"
24     }
25
26 You can provide a specific `revision`:
27
28     vcsrepo { "/path/to/repo":
29         ensure   => present,
30         provider => svn,
31         source   => "svn://svnrepo/hello/branches/foo",
32         revision => '1234'
33     }
34
35
36 Using a specified Subversion configuration directory 
37 -----------------------------
38
39 Provide a `configuration` parameter which should be a directory path on the local system where your svn configuration
40 files are.  Typically, it is /path/to/.subversion:
41
42     vcsrepo { "/path/to/repo":
43         ensure        => present,
44         provider      => svn,
45         source        => "svn://svnrepo/hello/branches/foo",
46         configuration => "/path/to/.subversion"
47     }
48
49
50 For sources that use SSH (eg, `svn+ssh://...`)
51 ----------------------------------------------
52
53 Manage your SSH keys with Puppet and use `require` in your `vcsrepo`
54 to ensure they are present.  For more information, see the `require`
55 metaparameter documentation[1].
56
57 More Examples
58 -------------
59
60 For examples you can run, see `examples/svn/`
61
62 [1]: http://docs.puppetlabs.com/references/stable/metaparameter.html#require