Google Maps v2 即将退役,因此我需要审核我们在 Github 上的所有私有存储库以供使用。我可以将它们全部克隆下来并运行 a grep
,但是有很多(中间 3 个数字),所以如果可能的话,我宁愿在服务器上做所有事情。不幸的是,Github 的搜索只会搜索公共项目(据我所知),我在 API 中看不到任何东西来做我想做的事。
有任何想法吗?
Google Maps v2 即将退役,因此我需要审核我们在 Github 上的所有私有存储库以供使用。我可以将它们全部克隆下来并运行 a grep
,但是有很多(中间 3 个数字),所以如果可能的话,我宁愿在服务器上做所有事情。不幸的是,Github 的搜索只会搜索公共项目(据我所知),我在 API 中看不到任何东西来做我想做的事。
有任何想法吗?
如果您知道您正在寻找或多或少一致的模式,您可以使用 Github API 仅对您可能感兴趣的文件进行 grep。
例如,您可以通过 API 获取文件的内容:http: //developer.github.com/v3/repos/contents/#get-contents
但是,这假设您知道您拥有哪些文件(适用于 Ruby 中的 Gemfile 或 Python 中的 requirements.txt,对于 Javascript 不是很好)。
另一种选择是在本地自动搜索存储库。完全可以编写一个脚本来依次 git clone 每个 repo、grep 并输出结果(假设你有运行它所需的时间和磁盘空间)。
请注意,私有 GitHub 存储库中已经有一个代码功能:grep
但是,它没有 API,因此您需要使用以下格式对链接进行一些旧的抓取:
https://github.com/creaktive/WUB/search?q=BEGIN&choice=code&l=&start=
要遍历多个存储库,您可以使用 iMacros for Chrome / Firefox,如果您使用 Perl-fu,则可以使用WWW::Mechanize ,如果您是 JavaScript 忍者,则可以使用PhantomJS 。
我以前见过OpenGrok的使用,并且通常有像你这样的用例。