see shy jo
Follow

the single most important criteria when replacing Github
joeyh.name/blog/entry/the_sing

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?

@joeyh how do you feel about activitypub as an interoperability mechanism instead?

@technomancy like I say in the blog post, it neglects an pportunity.

Unless activitypub gets as much distributed power as git has.

(But, consuming data from a git repository and communicating it over activitypub would be fine.)

@joeyh I'm skeptical; I've seen many, many attempts to move issues into git as the backing data store, and no one has yet found a way to make it work in a way that's satisfactory.

@technomancy no, *dozens* of people have found *different* ways, all non-interoperable. Which is why a github or a gitlab doing this and establishing a de-facto standard would be valuable.

(I have been active in the dist-bugs space for a decade or so.)

(and all my projects store their issues right alongside the code in git)

@joeyh interesting, so from your perspective the thing that's kept issues-in-git from catching on is the xkcd.com/927/ problem?

@joeyh is there anywhere I can read about the setup you've found that has worked for your projects?

@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

@cwebber @technomancy yes, activitypub could be useful for that, but it seems it would be easy to end up with data stored in activitypub messages themselves

(No PR inception needed, use a separate branch for the data with validation hooks, etc)

@joeyh @cwebber @technomancy

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 @technomancy @cwebber

Joey, what do you mean by "Unless activitypub gets as much distributed power as git has."

Have you seen github.com/git-federation/gitp ?

And does git-ssb have such power?

@bhaugen well, @cwebber has talked about using w3c-ccg.github.io/did-spec/ in activitypub and the result looks a lot like ssb to me.

@joeyh @cwebber

Would be interesting to pursue your other issues from your blog post, and also the issues around work coordination that have been mentioned in SSB, in an activitypub federated git.

@joeyh

Great question! But I did not understand this comment at the end:
"I'd give git-ssb, which stores issues etc as ssb messages, a pass on this, for example."

Does "pass" mean "they pass", they're ok on that? Or "I'll pass", not use them?

@bhaugen woah sorry for the ambiguity, I mean a green check mark :) Correcting now

@joeyh I use https://github.com/sanpii/git-issue but without the page generation stuff.
I also think ikiwiki could be used to do blog(releases and other announces), wiki and tickets.
I have no idea other than sending patches via emails or URLs for pull requests.

@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.

#github

Pleased to see this pissed HN off. How you know you're onto something.

@joeyh ah, sad but true… (good post, by the way)

@joeyh HN has about six flavors of people there, lol. Many who probably agree with you.

I think like the GitHub wiki is even technically probably a Git repo... just a hidden/unreachable one. It stores changes in a very Git-like fashion.

@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, 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 That's pretty handy! I'm not leaving GitHub (and think the hysteria is hilarious), but am always pretty big on good data export tools.

@joeyh @liw

you can't make me look at HN, but maybe I'll take another peek at the LWN comments.

How bad can it be, right?

@joeyh
Phabricator is a fully open source replacement without any "open core" games. Self-hosted issue tracker, wiki, all you need in a nice package.

@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: github.com/dspinellis/git-issu
github.com/neithernut/git-dit
...which still seem active. Otherwise, a handful of discussions, but not much experimentation.

@joeyh Awesome.

BTW, I can't tell you how relieved I am to click on those LWN links and see that they're not stories that I wrote and have forgotten about. That sort of thing happens, let's say, "not rarely."

@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.

@espen github has an interface to attach comments to parts of commits, typically used during code review

@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.

fossil-scm.org

#fossilscm #git #vcs #github

Sign in to participate in the conversation
Octodon

Octodon is a nice general purpose instance. more