<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/deploy/strategy/copy_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,10 @@
 *SVN*
 
+* Make the copy strategy check out to a temporary directory [Jamis Buck]
+
+
+*1.99.0 (2.0 Preview 1)* April 24, 2007
+
 * Add `capify' script to make it easier to prepare a project for deployment using cap [Jamis Buck]
 
 * Make sure the sudo helper understands the SuSE dialect of the sudo password prompt [Steven Wisener]
@@ -18,6 +23,7 @@
 
 * Merged the Configuration and Actor classes, performed various other massive refactorings of the code [Jamis Buck]
 
+
 *1.4.1* (February 24, 2007)
 
 * Use the no-auth-cache option with subversion so that username/password tokens do not get cached by capistrano usage [jonathan]</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -50,8 +50,8 @@ end
 
 desc &quot;Publish the beta gem&quot;
 task :pgem =&gt; [:package] do 
-  Rake::SshFilePublisher.new(&quot;davidhh@wrath.rubyonrails.org&quot;, &quot;public_html/gems/gems&quot;, &quot;pkg&quot;, &quot;#{PKG_FILE_NAME}.gem&quot;).upload
-  `ssh davidhh@wrath.rubyonrails.org './gemupdate.sh'`
+  Rake::SshFilePublisher.new(&quot;wrath.rubyonrails.org&quot;, &quot;public_html/gems/gems&quot;, &quot;pkg&quot;, &quot;#{PKG_FILE_NAME}.gem&quot;).upload
+  `ssh wrath.rubyonrails.org './gemupdate.sh'`
 end
 
 desc &quot;Clean up generated directories and files&quot;
@@ -59,4 +59,4 @@ task :clean do
   rm_rf &quot;pkg&quot;
   rm_rf &quot;doc&quot;
   rm_rf &quot;coverage&quot;
-end
\ No newline at end of file
+end</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 require 'capistrano/recipes/deploy/strategy/base'
 require 'fileutils'
+require 'tempfile'  # Dir.tmpdir
 
 module Capistrano
   module Deploy
@@ -51,7 +52,7 @@ module Capistrano
           # Returns the basename of the release_path, which will be used to
           # name the local copy and archive file.
           def destination
-            @destination ||= File.basename(configuration[:release_path])
+            @destination ||= File.join(tmpdir, File.basename(configuration[:release_path]))
           end
 
           # Returns the value of the :copy_strategy variable, defaulting to
@@ -74,13 +75,18 @@ module Capistrano
           # Returns the name of the file that the source code will be
           # compressed to.
           def filename
-            @filename ||= &quot;#{destination}.#{compression_extension}&quot;
+            @filename ||= File.join(tmpdir, &quot;#{File.basename(destination)}.#{compression_extension}&quot;)
+          end
+
+          # The directory to which the copy should be checked out
+          def tmpdir
+            @tmpdir ||= configuration[:copy_dir] || Dir.tmpdir
           end
 
           # The location on the remote server where the file should be
           # temporarily stored.
           def remote_filename
-            @remote_filename ||= &quot;/tmp/#{filename}&quot;
+            @remote_filename ||= &quot;/tmp/#{File.basename(filename)}&quot;
           end
 
           # The compression method to use, defaults to :gzip.</diff>
      <filename>lib/capistrano/recipes/deploy/strategy/copy.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>eb6b1effc9883ca947afa95018c617f1dd5ef2f6</id>
    </parent>
  </parents>
  <author>
    <name>Jamis Buck</name>
    <email>jamis@37signals.com</email>
  </author>
  <url>http://github.com/jamis/capistrano/commit/c472b3641f5b09702b6cc8f8d8f2efdb807cb6e5</url>
  <id>c472b3641f5b09702b6cc8f8d8f2efdb807cb6e5</id>
  <committed-date>2007-04-26T19:20:21-07:00</committed-date>
  <authored-date>2007-04-26T19:20:21-07:00</authored-date>
  <message>Start writing tests for the deployment code. Make the copy strategy checkout to a customizable tmpdir, instead of merely using cwd


git-svn-id: http://svn.rubyonrails.org/rails/tools/capistrano@6589 5ecf4fe2-1ee6-0310-87b1-e25e094e27de</message>
  <tree>548df89ba471d44ad704196c78ca09ac2413c090</tree>
  <committer>
    <name>Jamis Buck</name>
    <email>jamis@37signals.com</email>
  </committer>
</commit>
