Want to check if Github is still down? I wrote a command line program that polls Github while it’s down to see if it’s back up. It uses the “say” program (a festival-based variant is in the documentation) to speak the status (which can be muted).
What we need are tools to allow us to simultaneously use bitbucket, github, and gitorious (and optionally self-host) at the same time. You know… since git is distributed, why put up with centralized systems, etc etc. Just need to solve the whole federation of issues thing. As an rstat.us founder, I’ve thought about how to build this a bit.
I am up for figuring this problem, it’s something I’ve thought about (and “faked” with multiple remotes). What would it take to build this kind of tool?
Instead of devising an autonomous system immediately, like I describe doing, a stepping-stone solution would just be some sort of interface and server that will periodically use site apis to look at what has changed and duplicate it on the other sites. Requires some hardcoding and potentially fragile strings with regard to api changes. You can easily just force push the repos up to the other sites to duplicate them (yay for git already doing the work) but issues require some conflict management (that’s the hard part) and that isn’t trivial because it requires clock synchronization (which is not computable) in order to allow users to comment on whichever site they want and keep ordering.
Fossil thinks the solution is to bake in the issues as blessed metadata in the scm directly. I disagree believing this is a service issue given I prefer modularity that git stresses. Build the system that mitigates the consistency issues and allows for flexibility, it will already be useful… and then you can bake it into web services later (namely gitlab) and it will then become federated and self-hostable.
The initial goal is clear: No need to worry about github going down… the system will repair after it comes back up. No reason it can’t also work for mercurial, etc.
Waiting for check_“kisom/check_github”.