{"action":"created","issue":{"url":"https://api.github.com/repos/Homebrew/homebrew/issues/41736","labels_url":"https://api.github.com/repos/Homebrew/homebrew/issues/41736/labels{/name}","comments_url":"https://api.github.com/repos/Homebrew/homebrew/issues/41736/comments","events_url":"https://api.github.com/repos/Homebrew/homebrew/issues/41736/events","html_url":"https://github.com/Homebrew/homebrew/pull/41736","id":95152165,"number":41736,"title":"[GSoC] Allow Prioritization of Taps","user":{"login":"CNA-Bld","id":2557768,"avatar_url":"https://avatars.githubusercontent.com/u/2557768?v=3","gravatar_id":"","url":"https://api.github.com/users/CNA-Bld","html_url":"https://github.com/CNA-Bld","followers_url":"https://api.github.com/users/CNA-Bld/followers","following_url":"https://api.github.com/users/CNA-Bld/following{/other_user}","gists_url":"https://api.github.com/users/CNA-Bld/gists{/gist_id}","starred_url":"https://api.github.com/users/CNA-Bld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CNA-Bld/subscriptions","organizations_url":"https://api.github.com/users/CNA-Bld/orgs","repos_url":"https://api.github.com/users/CNA-Bld/repos","events_url":"https://api.github.com/users/CNA-Bld/events{/privacy}","received_events_url":"https://api.github.com/users/CNA-Bld/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Homebrew/homebrew/labels/features","name":"features","color":"DDDDDD"},{"url":"https://api.github.com/repos/Homebrew/homebrew/labels/GSoC","name":"GSoC","color":"d4c5f9"},{"url":"https://api.github.com/repos/Homebrew/homebrew/labels/maintainer%20feedback","name":"maintainer feedback","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-07-15T09:52:36Z","updated_at":"2015-07-18T13:46:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Homebrew/homebrew/pulls/41736","html_url":"https://github.com/Homebrew/homebrew/pull/41736","diff_url":"https://github.com/Homebrew/homebrew/pull/41736.diff","patch_url":"https://github.com/Homebrew/homebrew/pull/41736.patch"},"body":"This replaces pr #40991 \r\n\r\nThis pr implements a simplified version of tap priority system as discussed in the original pr. There are now only three levels of priority (pinned taps > core > unpinned taps) and only few commands respect the priority.\r\n\r\n* Users can use commands `brew tap-pin user/repo` and `brew tap-unpin user/repo` to change the pinned status of taps.\r\n* Commands that use `ARGV.formulae` now finds formulae in the following order (i.e., it does not affect other things like dependency resolution):\r\n    * URL / bottle / fully qualified names / file path\r\n    * Find any pinned taps provide the formula (If only one exists, return; if more than one, raise `TapFormulaAmbiguityError`.). If found pinned formula but the formula is also provided by core, a warning message will be shown.\r\n    * Find in core formulae\r\n    * Other taps, etc. (Keep the same with `formulary.factory`)"},"comment":{"url":"https://api.github.com/repos/Homebrew/homebrew/issues/comments/122545186","html_url":"https://github.com/Homebrew/homebrew/pull/41736#issuecomment-122545186","issue_url":"https://api.github.com/repos/Homebrew/homebrew/issues/41736","id":122545186,"user":{"login":"CNA-Bld","id":2557768,"avatar_url":"https://avatars.githubusercontent.com/u/2557768?v=3","gravatar_id":"","url":"https://api.github.com/users/CNA-Bld","html_url":"https://github.com/CNA-Bld","followers_url":"https://api.github.com/users/CNA-Bld/followers","following_url":"https://api.github.com/users/CNA-Bld/following{/other_user}","gists_url":"https://api.github.com/users/CNA-Bld/gists{/gist_id}","starred_url":"https://api.github.com/users/CNA-Bld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CNA-Bld/subscriptions","organizations_url":"https://api.github.com/users/CNA-Bld/orgs","repos_url":"https://api.github.com/users/CNA-Bld/repos","events_url":"https://api.github.com/users/CNA-Bld/events{/privacy}","received_events_url":"https://api.github.com/users/CNA-Bld/received_events","type":"User","site_admin":false},"created_at":"2015-07-18T13:46:50Z","updated_at":"2015-07-18T13:46:50Z","body":"@xu-cheng thanks a lot! I have done a benchmark on my laptop just now. The command I used was `brew info <all core formulae> >/dev/null 2>&1` and I used `time | benchmark.sh` to measure the time.\r\n\r\nI have 3 taps installed with one pinned but does not contain any formulae that will be prioritized.\r\n\r\nThe result before the changes (in master branch, that is) is \r\n\r\n    38.05s user 19.25s system 93% cpu 1:01.35 total\r\n\r\nThe result after the changes is\r\n\r\n    39.36s user 21.33s system 94% cpu 1:04.50 total\r\n\r\nI'm going to mock a tap with a lot of prioritized formulae and report the result."}}