Generated directories are recursively svn added, like mkdir -p. Closes #6416.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5395 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper
2006-11-02 07:55:04 +00:00
parent 61bcbfbb9c
commit 4bd64363c1
2 changed files with 22 additions and 6 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Generated directories are recursively svn added, like mkdir -p. #6416 [NeilW]
* resource and scaffold_resource generators add a restful route to config/routes.rb [Jeremy Kemper]
* Revert environment changes for autoload_paths. [Koz]

View File

@@ -299,12 +299,26 @@ module Rails
logger.exists relative_path
else
logger.create relative_path
FileUtils.mkdir_p(path) unless options[:pretend]
# Optionally add file to subversion
system("svn add #{path}") if options[:svn]
end
end
unless options[:pretend]
FileUtils.mkdir_p(path)
# Subversion doesn't do path adds, so we need to add
# each directory individually.
# So stack up the directory tree and add the paths to
# subversion in order without recursion.
if options[:svn]
stack=[relative_path]
until File.dirname(stack.last) == stack.last # dirname('.') == '.'
stack.push File.dirname(stack.last)
end
stack.reverse_each do |rel_path|
svn_path = destination_path(rel_path)
system("svn add -N #{svn_path}") unless File.directory?(File.join(svn_path, '.svn'))
end
end
end
end
end
# Display a README.
def readme(*relative_sources)