mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
Merge pull request #629 from capistrano/bug_fix/672
Shoot at fixing #627.
This commit is contained in:
commit
5f3a2b67ff
2 changed files with 10 additions and 3 deletions
|
@ -14,6 +14,7 @@ en = {
|
|||
written_file: 'create %{file}',
|
||||
question: 'Please enter %{key}: |%{default_value}|',
|
||||
keeping_releases: 'Keeping %{keep_releases} of %{releases} deployed releases on %{host}',
|
||||
no_old_releases: 'No old releases (keeping newest %{keep_releases}) on %{host}',
|
||||
linked_file_does_not_exist: 'linked file %{file} does not exist on %{host}',
|
||||
mirror_exists: "The repository mirror is at %{at}",
|
||||
revision_log_message: 'Branch %{branch} deployed as release %{release} by %{user}',
|
||||
|
|
|
@ -129,9 +129,15 @@ namespace :deploy do
|
|||
releases = capture(:ls, '-x', releases_path).split
|
||||
if releases.count >= fetch(:keep_releases)
|
||||
info t(:keeping_releases, host: host.to_s, keep_releases: fetch(:keep_releases), releases: releases.count)
|
||||
directories = (releases - releases.last(fetch(:keep_releases))).map { |release|
|
||||
releases_path.join(release) }.join(" ")
|
||||
execute :rm, '-rf', directories
|
||||
directories = (releases - releases.last(fetch(:keep_releases)))
|
||||
if directories.any?
|
||||
directories_str = directories.map do |release|
|
||||
releases_path.join(release)
|
||||
end.join(" ")
|
||||
execute :rm, '-rf', directories_str
|
||||
else
|
||||
info t(:no_old_releases, host: host.to_s, keep_releases: fetch(:keep_releases))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue