By the way,
```
brew tests --no-compat
```
is failing because I wrote
```rb
module Homebrew
def search_for_migrated_formula
end
end
```
instead of
```rb
module Homebrew
def self.search_for_migrated_formula
end
end
```
and the former requires `method_missing` from `compat/global.rb`. I think I've seen the former pattern in the code base though; I guess they're not tested. What should I do in this case?
> gracefully handling the case where there hasn't been a migration based just on the Git history.
Um, if the formula can't be found and is also not in git history, how do we print anything useful? On the other hand, if something appears in `tap_migrations.json` (case handled here) it must have been migrated, regardless of whether git history is deep enough, no? Could you please give an example (made-up is fine) of the case you're talking about?
> Also worth noting #1812 if you haven't seen it already.
Thanks for the pointer. Yeah, it would be nice to issue a warning in #1812's case, whether the formula is migrated or not. Not sure what's the right way to issue a warning there though. As long as there's a warning, `search_for_migrated_formula` can piggyback onto that.
@MikeMcQuaid Sorry, I forgot about this. Just addressed most comments. Two outstanding comments:
> Probably worth putting this in Library/Homebrew/migrator.rb
`migrator.rb` is for renames though, which is pretty much unrelated.
> Probably want to use EOS.undent and a few lines here. Test on a 80 character wide terminal and see how it looks.
The difficulty here is that messages could vary in length. I could, sort of, break them like
```
A deprecated formula named "aeskeyfind" has been migrated
from homebrew/core to homebrew/boneyard.
A formula named "aeskeyfind" has been migrated
from zmwangx/old to zmwangx/new.
```
but then it looks weird, especially on a reasonably wide terminal (including a 80-column one). I'd say soft wrap is better than hard wrap here.