Chongyu Zhu 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6f8d81e780 
							
						 
					 
					
						
						
							
							GitDownloadStrategy: disable automatic tag following  
						
						
						
						
					 
					
						2018-12-12 19:42:12 +08:00 
						 
				 
			
				
					
						
							
							
								EricFromCanada 
							
						 
					 
					
						
						
						
						
							
						
						
							5e2f87f7ac 
							
						 
					 
					
						
						
							
							CurlDownloadStrategy: handle Location indicating the current dir.  
						
						... 
						
						
						
						If a response contains a Location header starting with `./`, substitute just final component of the URL path with the given filename. 
						
						
					 
					
						2018-11-22 19:24:30 -05:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eddbab6a1c 
							
						 
					 
					
						
						
							
							Merge pull request  #5217  from reitermarkus/download-time  
						
						... 
						
						
						
						Check if cached downloads are up-to-date. 
						
						
					 
					
						2018-11-04 18:06:30 +01:00 
						 
				 
			
				
					
						
							
							
								Mike McQuaid 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							737b84b54b 
							
						 
					 
					
						
						
							
							brew style --fix fixes. 
						
						
						
						
					 
					
						2018-11-02 17:29:23 +00:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							3d805295eb 
							
						 
					 
					
						
						
							
							Check if cached downloads are up-to-date.  
						
						
						
						
					 
					
						2018-11-01 20:29:18 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Ripley 
							
						 
					 
					
						
						
						
						
							
						
						
							1f9332611f 
							
						 
					 
					
						
						
							
							Nil error when mirror download fails  
						
						... 
						
						
						
						This issue causes method in a Nil object to be read when a mirror download fails. In my case, this occurs due to my office's proxy blocking certain mirrors. This patch fixes the Nil access, exposing a more helpful error message.
## Before patch
```
$ brew install maven
Error: An exception occurred within a child process:
  NoMethodError: undefined method `unlock' for nil:NilClass
```
## After patch
```
$ brew install maven
Error: An exception occurred within a child process:
  DownloadError: Failed to download resource "maven"
Download failed: Couldn't determine mirror, try again later.
```
## Steps to reproduce
1.  Use brew 1.8.0
2.  Ensure maven is not installed:
    ```
    brew remove maven
    ```
3.  Ensure the download is not cached:
    ```
    rm "$HOME/Library/Caches/Homebrew/downloads/*--apache-maven-*-bin.tar.gz"
    ```
4.  Make the mirrors unreachable by pointing them at a nonfunctional proxy:
    ```
    export http{,s}_proxy=http://localhost:8080 
    export no_proxy=*.github.com,*.brew.sh
    ```
5.  Attempt package installation
    ```
    brew install maven
    ``` 
						
						
					 
					
						2018-10-29 14:31:37 -05:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							b0742db4fa 
							
						 
					 
					
						
						
							
							Support Content-Disposition: inline.  
						
						
						
						
					 
					
						2018-10-21 05:56:02 +02:00 
						 
				 
			
				
					
						
							
							
								Mike McQuaid 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							599ecc9b5a 
							
						 
					 
					
						
						
							
							Deprecate unused download strategies  
						
						... 
						
						
						
						Download the unused, private download strategies. These are a better fit
for being declared in the formulae and/or taps that use them rather than
in Homebrew/brew where they are unused by Homebrew maintainers or
official taps/formulae. 
						
						
					 
					
						2018-10-19 10:48:52 +01:00 
						 
				 
			
				
					
						
							
							
								EricFromCanada 
							
						 
					 
					
						
						
						
						
							
						
						
							20167e5f1b 
							
						 
					 
					
						
						
							
							Adjust comments to tidy API docs output.  
						
						
						
						
					 
					
						2018-10-18 21:42:43 -04:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							1f24c6600c 
							
						 
					 
					
						
						
							
							Fix cleanup of incomplete downloads.  
						
						
						
						
					 
					
						2018-10-14 00:15:16 +02:00 
						 
				 
			
				
					
						
							
							
								Viktor Szakats 
							
						 
					 
					
						
						
						
						
							
						
						
							041cd039f7 
							
						 
					 
					
						
						
							
							download_strategy: Miscalculated redirect when Location: is protocol-relative  
						
						
						
						
					 
					
						2018-10-07 11:16:33 +00:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							e9b9ea49a1 
							
						 
					 
					
						
						
							
							Update to RuboCop 0.59.1.  
						
						
						
						
					 
					
						2018-09-17 03:45:59 +02:00 
						 
				 
			
				
					
						
							
							
								Mike McQuaid 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							955214abc0 
							
						 
					 
					
						
						
							
							Use ActiveSupport Object#blank? and #present?  
						
						
						
						
					 
					
						2018-09-14 17:02:19 +01:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							17c3a66265 
							
						 
					 
					
						
						
							
							Change regex to match filename if header also contains filename*.  
						
						
						
						
					 
					
						2018-09-05 02:28:35 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							2ca3439ada 
							
						 
					 
					
						
						
							
							Fix downloads directory not being created.  
						
						
						
						
					 
					
						2018-09-05 00:38:19 +02:00 
						 
				 
			
				
					
						
							
							
								Mike McQuaid 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bcb1ec5499 
							
						 
					 
					
						
						
							
							Improve Homebrew/brew line length.  
						
						... 
						
						
						
						Use 124 max line length everywhere. Also, reduce tap max line length to
189 as Homebrew/homebrew-core has that as a maximum now. In future
Homebrew/homebrew-core will also be reduced to 124 maximum line length. 
						
						
					 
					
						2018-09-02 16:15:09 +01:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							e377bdb6fe 
							
						 
					 
					
						
						
							
							Fix CurlApacheMirrorDownloadStrategy URL resolution.  
						
						
						
						
					 
					
						2018-09-02 03:30:37 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							b54682f709 
							
						 
					 
					
						
						
							
							Avoid network call in #initialize.  
						
						
						
						
					 
					
						2018-09-01 16:20:10 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							b63ac557bc 
							
						 
					 
					
						
						
							
							Update symlink even if cached_location already exists.  
						
						
						
						
					 
					
						2018-08-31 16:51:23 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							9edc355052 
							
						 
					 
					
						
						
							
							Don’t glob for .incomplete downloads.  
						
						
						
						
					 
					
						2018-08-31 16:51:23 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							3988458919 
							
						 
					 
					
						
						
							
							Use real basename for output.  
						
						
						
						
					 
					
						2018-08-31 16:51:23 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							fbcaa8c85a 
							
						 
					 
					
						
						
							
							Resolve URL to get real file extension.  
						
						
						
						
					 
					
						2018-08-31 16:51:23 +02:00 
						 
				 
			
				
					
						
							
							
								Kevin Abel 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							584cced003 
							
						 
					 
					
						
						
							
							Remove the chdir call that was already moved to the ancestor  
						
						... 
						
						
						
						528b4b367ed2a4026c321e2f2e503ace4548b9d2 moved the chdir definition to
the parent class and call it in the parent's stage. chdir was getting
called twice for archives with two nested directories. 
						
						
					 
					
						2018-08-17 23:13:23 -05:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							837f56c73b 
							
						 
					 
					
						
						
							
							Use system_command for all download strategies.  
						
						
						
						
					 
					
						2018-08-06 12:32:34 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							ac9cd39a4c 
							
						 
					 
					
						
						
							
							Merge download strategy specs.  
						
						
						
						
					 
					
						2018-08-06 00:19:54 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							1003d722bd 
							
						 
					 
					
						
						
							
							Use -- to separate download name and version.  
						
						
						
						
					 
					
						2018-08-05 15:57:28 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							545eb91c83 
							
						 
					 
					
						
						
							
							Merge pull request  #4599  from reitermarkus/download-cache-directory  
						
						... 
						
						
						
						Allow specifying cache directory for download strategies. 
						
						
					 
					
						2018-08-03 19:30:09 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							ea281a1cf9 
							
						 
					 
					
						
						
							
							Allow specifying cache directory for download strategies.  
						
						
						
						
					 
					
						2018-08-03 18:04:54 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							13c65eed70 
							
						 
					 
					
						
						
							
							Change docs to use symbols instead of class names.  
						
						
						
						
					 
					
						2018-08-03 17:50:57 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							de5aa6a23a 
							
						 
					 
					
						
						
							
							Move temporary_path to AbstractFileDownloadStrategy.  
						
						
						
						
					 
					
						2018-08-03 15:11:04 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0d9217b45e 
							
						 
					 
					
						
						
							
							Merge pull request  #4596  from reitermarkus/git-system_command  
						
						... 
						
						
						
						Use `system_command` for `GitDownloadStrategy`. 
						
						
					 
					
						2018-08-03 14:58:15 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							e220406a6e 
							
						 
					 
					
						
						
							
							Use system_command for GitDownloadStrategy.  
						
						
						
						
					 
					
						2018-08-03 11:17:09 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							51fa194966 
							
						 
					 
					
						
						
							
							Move cached_location to #initialize.  
						
						
						
						
					 
					
						2018-08-03 10:51:01 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							528b4b367e 
							
						 
					 
					
						
						
							
							Always chdir.  
						
						
						
						
					 
					
						2018-08-03 10:50:49 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							28fd59672a 
							
						 
					 
					
						
						
							
							Merge pull request  #4543  from reitermarkus/verbose-system_command  
						
						... 
						
						
						
						Pass `verbose` to unpack strategies. 
						
						
					 
					
						2018-08-03 10:47:51 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3a99e64646 
							
						 
					 
					
						
						
							
							Merge pull request  #4593  from reitermarkus/curl-options  
						
						... 
						
						
						
						Merge `curl` options used by casks into download strategies. 
						
						
					 
					
						2018-08-02 15:58:22 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							81939dc496 
							
						 
					 
					
						
						
							
							Pass verbose to unpack strategies.  
						
						
						
						
					 
					
						2018-08-02 15:52:55 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							64bb92d95d 
							
						 
					 
					
						
						
							
							Use URI.encode_www_form instead of CGI.escape.  
						
						
						
						
					 
					
						2018-08-02 15:41:44 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							7f4ea02047 
							
						 
					 
					
						
						
							
							Merge curl options used by casks into download strategies.  
						
						
						
						
					 
					
						2018-08-02 11:18:46 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							7c496f7a7e 
							
						 
					 
					
						
						
							
							Explicitly pass specs to download strategy.  
						
						
						
						
					 
					
						2018-08-02 10:33:14 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							e367e7eea8 
							
						 
					 
					
						
						
							
							Explicitly pass url and mirrors to download strategy.  
						
						
						
						
					 
					
						2018-08-02 10:09:35 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							efd743a50d 
							
						 
					 
					
						
						
							
							Merge pull request  #4585  from reitermarkus/refactor-download-strategies  
						
						... 
						
						
						
						Refactor download strategies. 
						
						
					 
					
						2018-08-02 07:16:27 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4183dd3564 
							
						 
					 
					
						
						
							
							Merge pull request  #4552  from reitermarkus/reorder-unpack-strategies  
						
						... 
						
						
						
						Reorder unpack strategies. 
						
						
					 
					
						2018-08-02 05:44:12 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							dce6b875c1 
							
						 
					 
					
						
						
							
							Merge pull request  #4581  from reitermarkus/non-existent-download-strategies  
						
						... 
						
						
						
						Remove non-existent download strategies. 
						
						
					 
					
						2018-08-01 16:09:03 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							85a6d81e2a 
							
						 
					 
					
						
						
							
							Make sure download directory exists.  
						
						
						
						
					 
					
						2018-08-01 05:40:15 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							3d27b2aa8d 
							
						 
					 
					
						
						
							
							Explicitly pass version to download strategy.  
						
						
						
						
					 
					
						2018-08-01 05:40:15 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							4c80f827ad 
							
						 
					 
					
						
						
							
							Only search by extension when unpacking formulae.  
						
						
						
						
					 
					
						2018-08-01 04:16:27 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							29182ad068 
							
						 
					 
					
						
						
							
							Remove non-existent download strategies.  
						
						
						
						
					 
					
						2018-08-01 01:59:54 +02:00 
						 
				 
			
				
					
						
							
							
								Markus Reiter 
							
						 
					 
					
						
						
						
						
							
						
						
							8ae284e871 
							
						 
					 
					
						
						
							
							Use SystemCommand for curl.  
						
						
						
						
					 
					
						2018-08-01 01:04:42 +02:00 
						 
				 
			
				
					
						
							
							
								feu 
							
						 
					 
					
						
						
						
						
							
						
						
							4bb82ccd94 
							
						 
					 
					
						
						
							
							just one target.directory check in fetch_repo  
						
						
						
						
					 
					
						2018-07-30 11:12:48 -03:00