Class: Capistrano::Deploy::SCM::Perforce

Class | Capistrano::Deploy::SCM::Perforce
In: | lib/capistrano/recipes/deploy/scm/perforce.rb
Parent: | Base

Implements the Capistrano SCM interface for the Perforce revision control system (www.perforce.com).

### Methods

checkout diff export handle_data head log next_revision query_revision sync

### Public Instance methods

checkout(revision, destination)

Returns the command that will sync the given revision to the given destination directory. The perforce client has a fixed destination so the files must be copied from there to their intended resting place.

diff(from, to=head)

Returns the command that will do an "p4 diff2" for the two revisions.

export(revision, destination)

Returns the command that will sync the given revision to the given destination directory. The perforce client has a fixed destination so the files must be copied from there to their intended resting place.

handle_data(state, stream, text)

Determines what the response should be for a particular bit of text from the SCM. Password prompts, connection requests, passphrases, etc. are handled here.

head()

Perforce understands ‘head’ to refer to the latest revision in the depot.

log(from=1, to=head)

Returns a "p4 changes" command for the two revisions.

next_revision(revision)

Increments the given revision number and returns it.

query_revision(revision) {|command| ...}
sync(revision, destination)

Returns the command that will sync the given revision to the given destination directory. The perforce client has a fixed destination so the files must be copied from there to their intended resting place.

[Validate]