Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							810b5838b2 
							
						 
					 
					
						
						
							
							Simpler "use the correct symlink" checks  
						
						 
						
						... 
						
						
						
						When determining whether to remove a symlink during unlinking, we check
three things:
  (a) Is the destination a symlink?
  (b) Does the destination exist?
  (c) Does the destination resolve to the source path?
However, since we know that the source path exists, (b) is guaranteed if
(a) and (c) are true. Thus checking (b) is unnecessary.
Similarly, when creating a new symlink during linking, we first check to
see if the link already exists by checking the same three criteria.
Again, checking (b) is unnecessary here.
See also the expanded test coverage in b52b579b.
Addendum: although we know that the source path exists during unlinking,
it doesn't matter. If the source path does not exist, then we still know
we have a broken symlink pointing into the keg we are unlinking, and
removing that symlink is still safe. 
						
						
					 
					
						2014-07-04 17:46:52 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							f666b76c39 
							
						 
					 
					
						
						
							
							Add more tests documenting linking behavior  
						
						 
						
						
						
						
					 
					
						2014-07-03 23:27:54 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							60fc7eb0ed 
							
						 
					 
					
						
						
							
							Avoid chdir just to make a symlink  
						
						 
						
						
						
						
					 
					
						2014-07-03 23:27:54 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							083448d55d 
							
						 
					 
					
						
						
							
							Move repeated pathname into setup  
						
						 
						
						
						
						
					 
					
						2014-07-03 23:27:54 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							9e19db0dd6 
							
						 
					 
					
						
						
							
							Don't assign @keg twice in setup  
						
						 
						
						
						
						
					 
					
						2014-07-03 23:27:53 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							4acf25a2b9 
							
						 
					 
					
						
						
							
							No need to silence output from Keg#link anymore  
						
						 
						
						
						
						
					 
					
						2014-07-03 23:27:53 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							aad09a5a63 
							
						 
					 
					
						
						
							
							Option does not need to be Comparable  
						
						 
						
						
						
						
					 
					
						2014-07-03 19:29:18 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							7d8a901f7a 
							
						 
					 
					
						
						
							
							Add assert_eql to provide better failure messages for eql? tests  
						
						 
						
						
						
						
					 
					
						2014-07-03 16:55:13 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							1ee4cd94ba 
							
						 
					 
					
						
						
							
							Fix PkgVersion#<=>  
						
						 
						
						
						
						
					 
					
						2014-07-03 16:37:43 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mike McQuaid 
							
						 
					 
					
						
						
						
						
							
						
						
							08c43dcd96 
							
						 
					 
					
						
						
							
							libspotify: migrate to homebrew/binary.  
						
						 
						
						... 
						
						
						
						Closes  Homebrew/homebrew#30632 . 
						
						
					 
					
						2014-07-03 22:33:21 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mike McQuaid 
							
						 
					 
					
						
						
						
						
							
						
						
							51f387a4a2 
							
						 
					 
					
						
						
							
							hllib: migrate to homebrew/boneyard.  
						
						 
						
						... 
						
						
						
						Closes  Homebrew/homebrew#30631 . 
						
						
					 
					
						2014-07-03 22:33:21 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mike McQuaid 
							
						 
					 
					
						
						
						
						
							
						
						
							9c5943d97a 
							
						 
					 
					
						
						
							
							bottle: use revision to find bottle block too.  
						
						 
						
						
						
						
					 
					
						2014-07-03 22:33:20 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Camillo Lugaresi 
							
						 
					 
					
						
						
						
						
							
						
						
							4001c6f8f1 
							
						 
					 
					
						
						
							
							stop Xcode tools from overriding deps when CLT is not installed  
						
						 
						
						... 
						
						
						
						Closes  Homebrew/homebrew#30641 .
Signed-off-by: Jack Nagel <jacknagel@gmail.com> 
						
						
					 
					
						2014-07-03 16:25:59 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							b78308d2d5 
							
						 
					 
					
						
						
							
							Fix Formula#<=> on trunk Ruby  
						
						 
						
						... 
						
						
						
						Arguably this method shouldn't exist and sort_by(&:name) used instead. 
						
						
					 
					
						2014-07-03 15:00:41 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							618b894c3e 
							
						 
					 
					
						
						
							
							Replace ComparableSet with a Requirements collection  
						
						 
						
						
						
						
					 
					
						2014-07-03 14:50:57 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							3ad6fc6636 
							
						 
					 
					
						
						
							
							Don't invoke mdfind in the tests  
						
						 
						
						
						
						
					 
					
						2014-07-03 13:02:26 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							191e017d56 
							
						 
					 
					
						
						
							
							Add inspect to mock updater so test failures are readable  
						
						 
						
						
						
						
					 
					
						2014-07-03 12:57:16 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							ef9f6ec4af 
							
						 
					 
					
						
						
							
							Accept -s as shorthand for --build-from-source  
						
						 
						
						... 
						
						
						
						This is experimental and will be reverted if it causes problems.
Closes  Homebrew/homebrew#30392 . 
						
						
					 
					
						2014-07-02 23:15:22 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							32d84377d5 
							
						 
					 
					
						
						
							
							Move constants so we don't have to load all of ENV to get them  
						
						 
						
						
						
						
					 
					
						2014-07-02 21:58:43 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							729ee39994 
							
						 
					 
					
						
						
							
							Add missing require  
						
						 
						
						
						
						
					 
					
						2014-07-02 21:50:07 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							2e44ffe80f 
							
						 
					 
					
						
						
							
							Move require into method to avoid circular require  
						
						 
						
						... 
						
						
						
						There is a nasty circular dependency here:
formula.rb
  requirement.rb
    extend/ENV.rb
      extend/ENV/shared.rb
        formula.rb
Probably the information that the build environment needs from formula
should be passed in at runtime, but that seems hard and I really just
want to be able to run the tests with warnings turned on. :/ 
						
						
					 
					
						2014-07-02 21:27:19 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							cabc451ca8 
							
						 
					 
					
						
						
							
							Add min_version to X11Dependency inspect string  
						
						 
						
						
						
						
					 
					
						2014-07-02 15:45:24 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							9106f221cb 
							
						 
					 
					
						
						
							
							Add regression test for decf7acced44bb156ba18677f55609b19ff6ca5a  
						
						 
						
						
						
						
					 
					
						2014-07-02 15:22:32 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							4cbae37d62 
							
						 
					 
					
						
						
							
							Don't expose the dependency cache data structure  
						
						 
						
						
						
						
					 
					
						2014-07-02 15:15:59 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							07e00061a7 
							
						 
					 
					
						
						
							
							Pass relative paths into link exceptions  
						
						 
						
						
						
						
					 
					
						2014-07-02 10:48:18 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							fbe8dc8fc6 
							
						 
					 
					
						
						
							
							Add a test that exercises the code in X11Dependency#satisfied?  
						
						 
						
						
						
						
					 
					
						2014-07-02 00:25:01 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							4743105216 
							
						 
					 
					
						
						
							
							Fix typo  
						
						 
						
						
						
						
					 
					
						2014-07-01 23:56:00 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							330e18bb17 
							
						 
					 
					
						
						
							
							Use predicate methods instead of inspecting the tags array  
						
						 
						
						
						
						
					 
					
						2014-07-01 21:57:30 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							177eee419a 
							
						 
					 
					
						
						
							
							Replace find_all + each with grep  
						
						 
						
						
						
						
					 
					
						2014-07-01 21:39:15 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							fe3e802c50 
							
						 
					 
					
						
						
							
							X11Dependency objects: fix hash equality  
						
						 
						
						
						
						
					 
					
						2014-07-01 21:26:41 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							fc2d403a82 
							
						 
					 
					
						
						
							
							X11Dependency: use Version objects  
						
						 
						
						
						
						
					 
					
						2014-07-01 21:26:41 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							3f6827374f 
							
						 
					 
					
						
						
							
							Use to_a definition from Enumerable  
						
						 
						
						
						
						
					 
					
						2014-07-01 21:26:41 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							804872fc94 
							
						 
					 
					
						
						
							
							Use sort_by in missing deps doctor check  
						
						 
						
						
						
						
					 
					
						2014-07-01 20:11:55 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							5375f2397e 
							
						 
					 
					
						
						
							
							Better Formula#inspect string  
						
						 
						
						
						
						
					 
					
						2014-07-01 18:39:15 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							fbefa76ce2 
							
						 
					 
					
						
						
							
							Always use class.name to build inspect strings  
						
						 
						
						
						
						
					 
					
						2014-07-01 18:39:15 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							6a1ad36fbd 
							
						 
					 
					
						
						
							
							Use sort_by in PrettyListing  
						
						 
						
						
						
						
					 
					
						2014-07-01 13:33:49 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							a6c514024b 
							
						 
					 
					
						
						
							
							Flesh out linking tests  
						
						 
						
						
						
						
					 
					
						2014-07-01 09:01:06 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							c2228c0d0f 
							
						 
					 
					
						
						
							
							Remove default argument from make_relative_symlink  
						
						 
						
						... 
						
						
						
						All callers of this method now pass a mode object. 
						
						
					 
					
						2014-06-30 22:14:18 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							4ea3997d9c 
							
						 
					 
					
						
						
							
							Pass the mode through the optlink method  
						
						 
						
						
						
						
					 
					
						2014-06-30 22:14:09 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							548d66be59 
							
						 
					 
					
						
						
							
							Simplify optlink method  
						
						 
						
						... 
						
						
						
						delete/unlink on a directory is the same operation as rmdir. 
						
						
					 
					
						2014-06-30 22:14:07 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							c0baad7e68 
							
						 
					 
					
						
						
							
							Add tests around opt links  
						
						 
						
						
						
						
					 
					
						2014-06-30 22:14:06 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							a3958c6d8b 
							
						 
					 
					
						
						
							
							Use formula opt shortcuts  
						
						 
						
						
						
						
					 
					
						2014-06-30 20:31:14 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							d792b64655 
							
						 
					 
					
						
						
							
							Add methods for manipulating the opt record  
						
						 
						
						
						
						
					 
					
						2014-06-30 20:31:13 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							0744ed9410 
							
						 
					 
					
						
						
							
							Store the opt record so we don't have to keep reconstructing it  
						
						 
						
						
						
						
					 
					
						2014-06-30 20:30:50 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							30e273c2d1 
							
						 
					 
					
						
						
							
							Group methods that operate on the linked keg record  
						
						 
						
						
						
						
					 
					
						2014-06-30 20:30:02 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							4c05d411f3 
							
						 
					 
					
						
						
							
							Add a method for getting the repo HEAD  
						
						 
						
						
						
						
					 
					
						2014-06-30 19:18:28 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							c904c71792 
							
						 
					 
					
						
						
							
							Fix tab tests  
						
						 
						
						
						
						
					 
					
						2014-06-30 08:54:47 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							a60ea13c64 
							
						 
					 
					
						
						
							
							Use 1.8 has syntax  
						
						 
						
						... 
						
						
						
						Fixes  Homebrew/homebrew#30558 . 
						
						
					 
					
						2014-06-30 01:03:11 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							d083efdbda 
							
						 
					 
					
						
						
							
							Don't mutate the tab object  
						
						 
						
						
						
						
					 
					
						2014-06-29 23:18:09 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jack Nagel 
							
						 
					 
					
						
						
						
						
							
						
						
							ac687d3b5f 
							
						 
					 
					
						
						
							
							Remove explicit self  
						
						 
						
						
						
						
					 
					
						2014-06-29 22:26:15 -05:00