Always hide cache-dir contents from Git (#8798)
Merge pull request 8798
This commit is contained in:
		
							parent
							
								
									f0314eec56
								
							
						
					
					
						commit
						891a78685a
					
				|  | @ -490,10 +490,26 @@ module Jekyll | |||
|       @site_cleaner ||= Cleaner.new(self) | ||||
|     end | ||||
| 
 | ||||
|     def hide_cache_dir_from_git | ||||
|       @cache_gitignore_path ||= in_source_dir(config["cache_dir"], ".gitignore") | ||||
|       return if File.exist?(@cache_gitignore_path) | ||||
| 
 | ||||
|       cache_dir_path = in_source_dir(config["cache_dir"]) | ||||
|       FileUtils.mkdir_p(cache_dir_path) unless File.directory?(cache_dir_path) | ||||
| 
 | ||||
|       File.open(@cache_gitignore_path, "wb") do |file| | ||||
|         file.puts("# ignore everything in this directory\n*") | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     # Disable Marshaling cache to disk in Safe Mode | ||||
|     def configure_cache | ||||
|       Jekyll::Cache.cache_dir = in_source_dir(config["cache_dir"], "Jekyll/Cache") | ||||
|       Jekyll::Cache.disable_disk_cache! if safe || config["disable_disk_cache"] | ||||
|       if safe || config["disable_disk_cache"] | ||||
|         Jekyll::Cache.disable_disk_cache! | ||||
|       else | ||||
|         hide_cache_dir_from_git | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     def configure_plugins | ||||
|  |  | |||
|  | @ -86,6 +86,28 @@ class TestSite < JekyllUnitTest | |||
|       site = Site.new(default_configuration) | ||||
|       assert_equal File.join(site.source, ".jekyll-cache"), site.cache_dir | ||||
|     end | ||||
| 
 | ||||
|     should "have the cache_dir hidden from Git" do | ||||
|       site = fixture_site | ||||
|       assert_equal site.source, source_dir | ||||
|       assert_exist source_dir(".jekyll-cache", ".gitignore") | ||||
|       assert_equal( | ||||
|         "# ignore everything in this directory\n*\n", | ||||
|         File.binread(source_dir(".jekyll-cache", ".gitignore")) | ||||
|       ) | ||||
|     end | ||||
| 
 | ||||
|     context "with a custom cache_dir configuration" do | ||||
|       should "have the custom cache_dir hidden from Git" do | ||||
|         site = fixture_site("cache_dir" => "../../custom-cache-dir") | ||||
|         refute_exist File.expand_path("../../custom-cache-dir/.gitignore", site.source) | ||||
|         assert_exist source_dir("custom-cache-dir", ".gitignore") | ||||
|         assert_equal( | ||||
|           "# ignore everything in this directory\n*\n", | ||||
|           File.binread(source_dir("custom-cache-dir", ".gitignore")) | ||||
|         ) | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   context "creating sites" do | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue