42 Commits

Author SHA1 Message Date
Tsukasa OMOTO
d1f15e967b Taps: cleanup regexps around Taps
Closes Homebrew/homebrew#29139.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-05-14 11:12:51 -05:00
Jack Nagel
d8c15c8fbf The \w character class already includes underscore
Newer versions of Ruby issue a warning for repeated character classes.
2014-05-03 15:03:22 -05:00
Jack Nagel
bdee729a41 Yield absolute paths from find_formula 2014-04-25 18:58:16 -05:00
Jack Nagel
b40a3413e3 Pass around only absolute paths when dealing with taps 2014-04-25 18:36:31 -05:00
Jack Nagel
b0cd6b0376 Extract some boilerplate into an each_tap method 2014-04-25 11:25:38 -05:00
Jack Nagel
ccd31a2dd2 Pass arguments instead of reopening Pathname 2014-04-24 18:26:05 -05:00
Jack Nagel
dcb9ae1bcc Using existing method to make tap symlinks 2014-04-24 18:06:11 -05:00
Tsukasa OMOTO
54004a4759 Make the on-disk representation of taps unambiguous
This commit supports "-" and "_" in names of user and repository.

Closes Homebrew/homebrew#28203.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-04-24 17:10:41 -05:00
Mike McQuaid
d30b118631 Migrate apple-gcc42 back to homebrew/versions.
Closes Homebrew/homebrew#28418.
2014-04-23 12:27:24 +01:00
Jack Nagel
9cd95bc0b7 Remove unused variable 2014-02-23 23:04:44 -05:00
Jack Nagel
25c4e336f4 Use GitHub wrapper for private tap check 2014-02-08 20:41:11 -05:00
aereal
91524a384d Make brew tap error message more clear
Closes Homebrew/homebrew#25813.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-01-26 17:33:12 -06:00
Mike McQuaid
95e6a634b4 tap: never throw AlreadyTappedError.
Just make it a warning instead.

Closes Homebrew/homebrew#25511.
Closes Homebrew/homebrew#25617.
2014-01-03 21:56:57 +00:00
Mike McQuaid
2afa1c3b86 tap: change core formula tap naming. 2013-12-14 23:10:20 +00:00
Mike McQuaid
d9d2443d5d Cleanup use of some global constants. 2013-10-30 13:20:48 -07:00
Mike McQuaid
1cb7eca3a5 tap: use dedicated exception for already tapped. 2013-10-21 20:16:41 +01:00
Mike McQuaid
8b5b220d88 tap: don't print warning for apple-gcc42 failure.
This should be a temporary workaround until we get a grip on some
Mavericks/Xcode 5.0 issues with e.g. ghc and go (stuff in core
that currently needs GCC at runtime). These formulae both have
Clang fixes in development.

Things that needs GCC at compile-time should be booted from core.

References Homebrew/homebrew#22872.
References Homebrew/homebrew-dupes#229
2013-10-16 08:40:41 +01:00
Adam Vandenberg
4daf0de435 Only prune taps if taps exist.
Closes Homebrew/homebrew#19192.
2013-04-14 09:35:16 -07:00
Misty De Meo
22f2f6aed3 tap/untap: use Array#length, not #count
Array#count was apparently introduced in 1.8.7.
2013-04-02 16:28:46 -05:00
Mike McQuaid
c2e642f9c1 Revert "Update brew tap to work without 'homebrew-'"
This reverts commit d72901f92b7385d44d8c980976db6a4336572e7e.

References Homebrew/homebrew#18366.
Closes Homebrew/homebrew#18432.
2013-03-12 17:55:55 +00:00
Peter Aronoff
3381142bc7 Update brew tap to work without 'homebrew-'
Currently `brew tap` only works on repos with 'homebrew-' in their name.

This version tries the repo name as is and then falls back to try
'homebrew-repo' only if that fails.

I've also tweaked the regex  in tap_args to allow '-' in repo names. The
previous regex required a match on \w. This made it impossible for people
to tap repos with names like 'username/why-not'.

Closes Homebrew/homebrew#18366.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-03-12 12:32:49 +00:00
Misty De Meo
e714a47c10 tap: adjust formula count for unsymlinked files
Relying on the output of `tapped` results in ignoring formulae which
already exist in core, with messages like "Tapped 0 formula" for
non-empty taps.
2013-03-04 12:12:47 -06:00
Elliot Saba
7da376a50c Update tap --repair function to ignore non-directory files in Library/Taps/
Closes Homebrew/homebrew#17518.
Closes Homebrew/homebrew#17511.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-02-01 18:36:38 -08:00
Max Howell
3b23cf102f brew tap by itself handles dashes in usernames
This stuff sucks. I'd like to just replace the dash with a directory division or tilde character. But this makes the code even more complicated, unless we can figure out how to migrate the taps.
2012-08-07 14:24:09 -04:00
Stafford Brunk
cbee0bd2ee Print an appropriate message if the tapped repository appears to be private
Closes Homebrew/homebrew#12247.
Closes Homebrew/homebrew#12244.

Signed-off-by: Max Howell <mxcl@me.com>
2012-08-07 14:24:09 -04:00
Max Howell
28bbced64b brew tap --repair
Removes dead symlinks in Formula and re-symlinks all Taps.

Closes Homebrew/homebrew#11565.
2012-08-04 15:11:47 -04:00
Max Howell
e8c9a19f65 Tap users can have dashes, adjust regex
Repos can't at this point. Hard to easily fix so avoiding it until 2.0 or until someone moans enough.
2012-08-04 15:11:47 -04:00
Jack Nagel
210c9ac205 Use 'which' helper method more
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-13 19:28:03 -05:00
Misty De Meo
827d263d01 brew tap: allow dashes in GitHub usernames 2012-04-30 14:02:23 -05:00
Max Howell
ceeb768c84 Special case Homebrew organization taps
We allow homebrew/dupes for instance, rather than Homebrew/dupes. Because nobody likes shifting in the terminal.

In the process of doing this I discovered some case-insensitive filesystem bugs we have avoided before because I had the foresight to mandate lowercase in formula names. GitHub considers Homebrew and homebrew to be different (even though you can't create both). So we had to allow case insensitivity in tap input. I have made it now so the resulting directory however is lowercased, neatly avoiding the issue. And so we also downcase tap arguments when applying them to tap directories or formula.
2012-03-18 01:45:26 +00:00
Max Howell
21bddc7972 Make the tapping already there step actually work
For when the symlink for a tap already exists and points to the thing we are about to symlink. This can happen, mostly because my code has sucked, but since the filesystem can be edited by the user at whim, it's possible then too.
2012-03-18 01:14:00 +00:00
Max Howell
5c2837c18c Report correct conflicting tap
Fixes:

$ brew tap adamv/alt
...blah blah blah..
$ brew tap josegonzalez/php
...blah blah blah...
Warning: Could not tap josegonzalez/php/php over mxcl/master/php

Where it should be "over adamv/alt/php".
2012-03-17 01:24:03 +00:00
Max Howell
ab01c1e357 Plain brew tap doesn't error if no Library/Taps
Fixes Homebrew/homebrew#10994.
2012-03-17 00:04:43 +00:00
Max Howell
93ef27c808 Output tapped formula account properly 2012-03-16 22:08:55 +00:00
Max Howell
919f36717c Don't break if symlink already exists during tap
This shouldn't happen but is possible and we should handle it.

Also added some puts when tapping/untapping.
2012-03-16 21:06:18 +00:00
Max Howell
0f02354073 HOMEBREW_LIBRARY
I got fed up writing HOMEBREW_REPOSITORY/"Library" and also correcting mistakes when I did HOMEBREW_PREFIX instead.
2012-03-16 21:06:18 +00:00
Max Howell
e6cb8cbee9 Pathname.atomic_write 2012-03-16 21:06:17 +00:00
Max Howell
2ace9422bc Better conflict warnings when tapping 2012-03-16 21:06:17 +00:00
Max Howell
7280590e88 Link new tapped formula during brew update
Required me to spoil tap's code. All in the name of DRY! Alas!
2012-03-16 21:06:17 +00:00
Max Howell
3f25dd60fa canonical_name can resolve taps 2012-03-16 21:06:15 +00:00
Max Howell
903b1167a6 Prevent tapped symlinks showing up in git status
The symlinks taps write to Formula show up in git status, but this trick prevents this. brew-(un)tap maintain a .gitignore in Formula that contains all the symlinks brew-tap creates.

We add the .gitignore to the root .gitignore and TADA! Magic.
2012-03-16 21:06:15 +00:00
Max Howell
0c7e7ae437 brew tap and brew untap 2012-03-16 21:06:15 +00:00