Ingest Bonobo Git Server
Summary:
A new lister is needed for Bonobo Git Server (GitHub), a git repository browser that runs on Microsoft Windows servers.
If the repository index is public, then the main repository URL will redirect to $url/Repository/Index
. If the repository index is private, then it will redirect to $url/Home/LogOn?ReturnUrl=/
or similar.
If the repository index has more than one page of repositories (which happens when one or more groups of repositories has lots of repos), links to the other pages of the repository index can be found using this command:
curl -sL $site | pup 'tfoot tr td a attr{href}' | sort -u
The each repository index page has a list of repositories, links to their web pages and a button for copying the git clone URL.
This command extracts the repository web pages from a repository index page:
curl -sL $url | pup 'a.RepositoryName attr{href}'
Both of these commands extract git clone URLs from a repository index page:
curl -sL $url | pup 'button[title="Copy repository URL"] attr{data-clipboard-text}'
curl -sL $url | pup 'button.copy-to-clip-button attr{data-clipboard-text}'
There isn't any good way to find out if a repo has been updated, you would have to visit the commits pages for each of the branches and look at the latest commit, then do the same for each of the tags pages.
This is a good list of search engine keywords to find sites: "Bonobo Git Server" "Sign In" "Repositories" "Jakub Chodounský" "Official Page"
Here is a list of sites found on Google/Bing with public repository indexes. There are a lot more that require sign-in to view repositories.
http://git.carelearning.com/
http://prosoft.inf.ufrgs.br/git/
https://dev.navigator.oregon.gov/git/
https://git.denhome.ru/
http://static-96-244-83-88.bltmmd.fios.verizon.net/
Plan:
-
Implement lister -
Implement loader -
docker: Run lister -
docker: Run loader -
Document lister -
Document loader -
Deploy on staging -
Call for public review -
Deploy on production