Markdown and examples
authorPaul Allen <pallen@perforce.com>
Thu, 12 Jun 2014 16:49:19 +0000 (17:49 +0100)
committerPaul Allen <pallen@perforce.com>
Fri, 20 Jun 2014 11:16:29 +0000 (12:16 +0100)
README.P4.markdown [new file with mode: 0644]
examples/p4/create_client.pp [new file with mode: 0644]
examples/p4/delete_client.pp [new file with mode: 0644]
examples/p4/latest_client.pp [new file with mode: 0644]
examples/p4/sync_client.pp [new file with mode: 0644]

diff --git a/README.P4.markdown b/README.P4.markdown
new file mode 100644 (file)
index 0000000..39fffd2
--- /dev/null
@@ -0,0 +1,82 @@
+Using vcsrepo with Perforce
+===========================
+
+To create an empty Workspace
+----------------------------
+
+Define a `vcsrepo` without a `source` or `revision`:
+
+    vcsrepo { "/path/to/repo":
+      ensure   => present,
+      provider => p4
+    }
+
+If no `p4client` name is provided a workspace generated name is calculated based on the 
+Digest of path.  For example:
+
+    puppet-91bc00640c4e5a17787286acbe2c021c
+
+Providing a `p4client` name will create/update the client workspace in Perforce.
+    vcsrepo { "/path/to/repo":
+      ensure   => present,
+      provider => p4
+      p4client   => "my_client_ws"
+    }
+
+To create/update and sync a Perforce workspace
+----------------------------------------------
+
+To sync a depot path to head (latest):
+
+    vcsrepo { "/path/to/repo":
+        ensure   => present,
+        provider => p4,
+        source   => '//depot/branch/...'
+    }
+
+For a specific changelist, use `revision`:
+
+    vcsrepo { "/path/to/repo":
+        ensure   => present,
+        provider => p4,
+        source   => '//depot/branch/...',
+        revision => '2341'
+    }
+
+You can also set `revision` to a label:
+
+    vcsrepo { "/path/to/repo":
+        ensure   => present,
+        provider => p4,
+        source   => '//depot/branch/...',
+        revision => 'my_label'
+    }
+
+Check out as a user by setting `p4user`:
+
+    vcsrepo { "/path/to/repo":
+        ensure   => present,
+        provider => p4,
+        source   => '//depot/branch/...',
+        p4user   => 'user'
+    }
+
+You can set `p4port` to specify a Perforce server:
+
+    vcsrepo { "/path/to/repo":
+        ensure   => present,
+        provider => p4,
+        source   => '//depot/branch/...',
+        p4port   => 'ssl:perforce.com:1666'
+    }
+
+If `p4port`, `p4user`, `p4charset` or `p4client` are specified they will override the
+environment variabels P4PORT, P4USER, etc... If a P4CONFIG file is defined, the config
+file settings will take precedence.
+
+
+More Examples
+-------------
+
+For examples you can run, see `examples/p4/`
diff --git a/examples/p4/create_client.pp b/examples/p4/create_client.pp
new file mode 100644 (file)
index 0000000..f7605e6
--- /dev/null
@@ -0,0 +1,5 @@
+vcsrepo { "/tmp/vcstest-p4-create_client":
+    ensure    => present,
+    provider  => p4, 
+    p4client  => "puppet-test001"
+}
\ No newline at end of file
diff --git a/examples/p4/delete_client.pp b/examples/p4/delete_client.pp
new file mode 100644 (file)
index 0000000..315222f
--- /dev/null
@@ -0,0 +1,5 @@
+vcsrepo { "/tmp/vcstest-p4-create_client":
+    ensure    => absent,
+    provider  => p4, 
+    p4client  => "puppet-test001"
+}
\ No newline at end of file
diff --git a/examples/p4/latest_client.pp b/examples/p4/latest_client.pp
new file mode 100644 (file)
index 0000000..719e180
--- /dev/null
@@ -0,0 +1,6 @@
+vcsrepo { "/tmp/vcstest-p4-create_client":
+    ensure    => latest,
+    provider  => p4, 
+    p4client  => "puppet-test001",
+    source    => "//depot/..."
+}
\ No newline at end of file
diff --git a/examples/p4/sync_client.pp b/examples/p4/sync_client.pp
new file mode 100644 (file)
index 0000000..c1128bc
--- /dev/null
@@ -0,0 +1,7 @@
+vcsrepo { "/tmp/vcstest-p4-create_client":
+    ensure    => present,
+    provider  => p4, 
+    p4client  => "puppet-test001",
+    source    => "//depot/..."
+    revision  => "30"
+}
\ No newline at end of file