the single most important criteria when replacing Github
Consider all the data that's used to provide the value-added features on top of git. Issue tracking, wikis, notes in commits, lists of forks, pull requests, access controls, hooks, other configuration, etc.
Is that data stored in a git repository?
(and all my projects store their issues right alongside the code in git)
@technomancy it's a MVP: Simply markdown files stored next to the code, rendered and editable on a wiki and accepting anonymous git pushes that edit only the markdown files. Far from ideal, but it does not stop users from giving more feedback than I can keep up with.
@joeyh @technomancy Even if you were to distribute your issues inside a git repo or etc (though, a PR inside a git repo? Do you have PRs for your PRs?) you'll still need a mechanism for notify someone that an update to that repository is available for consideration right? In which case you probably need some sort of messaging layer
ActivityPub could maybe be a way for a git server to notify a CI server that something's changed (triggering a CI build, test, deploy, etc). The ActivityPub message could carry the necessary metadata of the change (what ref changed, etc), and possibly the actual change (the commits), to avoid having CI having to pull from the CI server.
Then maybe any number of CI servers could subscribe to the ActivityPub stream (or what it's called?) for a git server.
@cwebber btw, activitypub (or ssb) could be very very useful for the whole social network side of things, which is sorta kinda orthagonal to what I've been talking about.
(But we also know how hard it is to get social network traction, any this is all going to mostly blow over soon; the gitlab import graphs are predictably trailing off. So my optimisim is slight.)
@joeyh One option I do is upload my gits either to IPFS or Beaker Browser. I recently made my own Git repository on my own page in Beaker.
What you'd do is have an iframe of source code to see what it contains, see if you can trust it, and then a download link to the tarball.
And it would be decentralized as well.
Pleased to see this pissed HN off. How you know you're onto something.
@ocdtrekkie Github wiki, gists, user pages are all stored in git repos. Rest isn't. I don't know about the equivilants on Gitlab.
Also, https://github-backup.branchable.com/ pulls all the data into a branch (and backs up all repos you star or fork); I wrote it 6 years ago partly to demonstrate feasibiity, partly to not lose information when the inevitable github backlash happened.
@joeyh I would be very interested to dig into people who have (or still are, of course) stored issues in a git repo.
A little searching last night turns up these attempts: https://github.com/dspinellis/git-issue
...which still seem active. Otherwise, a handful of discussions, but not much experimentation.
@joeyh I'm unsure what is ment by "notes in commit". My immediate thought is commit messages which are definitly stored in git as they are an integral part of it, but surely I'm misunderstanding something here?
Anyway, gitlab wiki pages are a git repo as far as I can remember reading in the docs.
@joeyh Ah, you mean the discussion during a pull request, not the commit message itself. Yeah, thats not a part of the git repo.
But then, git was not designed to do tasks that other tools perform better, like relational database (or something) for github, or email lists for the original users (linux kernel devs)
Gitlab is the closest I have found to githubs ways of working.
@joeyh Fossil-scm is an attempt to bundle issue tracking, wikis, comments etc. along with a version control system. Everything goes into the same repository. Everyone who clones a fossil repository has a full copy of the website along with the code (think git + GitHub both being in the repository itself).
I was using it for a pet project but didn't try it with a team.