mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
Support p4sync_flags and p4client_root variables for Perforce SCM (closes #10384)
git-svn-id: http://svn.rubyonrails.org/rails/tools/capistrano@8751 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
f0fbbec55a
commit
afe59d8076
2 changed files with 18 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
*SVN*
|
||||||
|
|
||||||
|
* Support p4sync_flags and p4client_root variables for Perforce [gseidman]
|
||||||
|
|
||||||
|
* Prepare for Net::SSH v2 by making sure Capistrano only tries to load Net::SSH versions less than 1.99.0 [Jamis Buck]
|
||||||
|
|
||||||
|
|
||||||
*2.1.0* October 14, 2007
|
*2.1.0* October 14, 2007
|
||||||
|
|
||||||
* Default to 0664 instead of 0660 on upload [Jamis Buck]
|
* Default to 0664 instead of 0660 on upload [Jamis Buck]
|
||||||
|
|
|
@ -25,21 +25,21 @@ module Capistrano
|
||||||
# destination directory. The perforce client has a fixed destination so
|
# destination directory. The perforce client has a fixed destination so
|
||||||
# the files must be copied from there to their intended resting place.
|
# the files must be copied from there to their intended resting place.
|
||||||
def checkout(revision, destination)
|
def checkout(revision, destination)
|
||||||
p4_sync(revision, destination, "-f")
|
p4_sync(revision, destination, p4sync_flags)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the command that will sync the given revision to the given
|
# Returns the command that will sync the given revision to the given
|
||||||
# destination directory. The perforce client has a fixed destination so
|
# destination directory. The perforce client has a fixed destination so
|
||||||
# the files must be copied from there to their intended resting place.
|
# the files must be copied from there to their intended resting place.
|
||||||
def sync(revision, destination)
|
def sync(revision, destination)
|
||||||
p4_sync(revision, destination, "-f")
|
p4_sync(revision, destination, p4sync_flags)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the command that will sync the given revision to the given
|
# Returns the command that will sync the given revision to the given
|
||||||
# destination directory. The perforce client has a fixed destination so
|
# destination directory. The perforce client has a fixed destination so
|
||||||
# the files must be copied from there to their intended resting place.
|
# the files must be copied from there to their intended resting place.
|
||||||
def export(revision, destination)
|
def export(revision, destination)
|
||||||
p4_sync(revision, destination, "-f")
|
p4_sync(revision, destination, p4sync_flags)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the command that will do an "p4 diff2" for the two revisions.
|
# Returns the command that will do an "p4 diff2" for the two revisions.
|
||||||
|
@ -89,7 +89,6 @@ module Capistrano
|
||||||
# a fixed destination so the files must be copied from there to their
|
# a fixed destination so the files must be copied from there to their
|
||||||
# intended resting place.
|
# intended resting place.
|
||||||
def p4_sync(revision, destination, options="")
|
def p4_sync(revision, destination, options="")
|
||||||
p4client_root = "`#{command} #{authentication} client -o | grep ^Root | cut -f2`"
|
|
||||||
scm authentication, :sync, options, "#{rev_no(revision)}", "&& cp -rf #{p4client_root} #{destination}"
|
scm authentication, :sync, options, "#{rev_no(revision)}", "&& cp -rf #{p4client_root} #{destination}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -108,6 +107,14 @@ module Capistrano
|
||||||
def p4passwd
|
def p4passwd
|
||||||
variable(:p4passwd) || variable(:scm_password)
|
variable(:p4passwd) || variable(:scm_password)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def p4sync_flags
|
||||||
|
variable(:p4sync_flags) || "-f"
|
||||||
|
end
|
||||||
|
|
||||||
|
def p4client_root
|
||||||
|
variable(:p4client_root) || "`#{command} #{authentication} client -o | grep ^Root | cut -f2`"
|
||||||
|
end
|
||||||
|
|
||||||
def rev_no(revision)
|
def rev_no(revision)
|
||||||
case revision.to_s
|
case revision.to_s
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue