Let's have a discussion that'll hopefully generate...
# linking-together
i
Let's have a discussion that'll hopefully generate lots of links. Microsoft have just placed GitHub under AI in their org chart. If I don't want to stick around and find out what fresh hell comes next, where should I go instead? Gitlab? Codeberg? Sourceforge? Send me links to your favourite social network for git repos!
r
Yeah, I think a lot of people have been anticipating this sort of thing since the acquisition. My previous company switched to gitlab a few years ago while I was still there because of it.
t
git --bare
on Dropbox?
s
what would you want in a social network for git repos? I suspect Gitlab is also pushing pretty hard into AI
d
there is a model group, but generally gitlab is structured around business problems: https://handbook.gitlab.com/handbook/product/categories/#hierarchy
I'd love to see a desktop/web client that works with the package managers to browse git repos wherever they might be
only issue is issues/discussions/PR comments don't have any kind of common API to leverage
k
Mid and large orgs will do what they do and have the resources to deal with a lot. But for individuals and small (<10 people) orgs I suspect the future consists of a lot of mirroring. I like to collect codeforges, and you can see them in the mirrors and forks section of my repos. Any large place will eventually diverge from our values, and any small place is liable to go under or keel over under load. Just spread multiple URLs. Let people contribute in whatever codeforge they use, and use raw git to paper over disconnects. All I need from a codeforge is to support anonymous git clone. Gitlab feels like roughly the same generation/cohort as github. Switching to it feels like frying pan to fire.
❤️ 1
a
https://tangled.sh is also worth a look
😮 1
👆 1
💡 1
n
Codeberg is awesome!
k
s
Time for a mastodon for git hosting?
i
@Kartik Agaram hah came here to post that! Yes, lots of appealing ideas in there.
❤️ 1
k
@Scott https://forgefed.org has received grants in the past.
💡 1
k
If you want the social-coding aspects of GitHub, rather than just hosting personal projects, then Codeberg looks like the best option right now. Hoping that Forĝejo will take off as a federated platform in the near future, because Codeberg is too small to take over GitHub's role.
d
If you really want git, those are reasonable suggestions, but in my mind, github is the only reason to use git - and jj looks like it makes it reasonable. If you just want a better version control, for small projects I recommend https://fossil-scm.org/ much more intuitive workflow. By the author of sqlite.
💯 2
k
@Dave Mason But you just provided 2 other reasons to use git: • For larger projects • Because jj makes it reasonable Personally as someone who has done a lot of small projects, I'm not convinced Fossil is better or more intuitive. It just replaces some opinions with other opinions. For example, it's ideologically opposed to amending even private history, and this makes developing on it feel more like a centralized version control system. A bunch of subtle distinctions will confuse someone used to say
git cherrypick
. I've tried out every new SCM out there, so I don't want to rabbithole, but I approached Fossil in the usual way I do, with a gradual ramp from git over some period of time. And Fossil just doesn't support that well right now. If you are looking to transition from git it has to be an atomic big bang transition, because the git importer doesn't generate deterministic ids for commit hashes. Fossil feels like Arch did 20 years ago: promising, but over-ideological. But it is a good choice for small and new projects.
k
The main advantage I see to Fossil is the integration of issue tracking in the repository. Which could of course be retro-fitted to git, and there are projects that do so, but... they are incompatible with the big forges. One more reason to use git is the enormous tooling ecosystem it has accumulated. It's not just GitHub (though I agree that GitHub is what made git "win" over everyone else at the time). For me, it's magit, the Emacs git interface, which is by far the best UX for version control I have seen anywhere. I am not even interested in
jj
unless it gets magit integration one day.
r
My main issue with fossil is that each repo is completely isolated. I'd love to reuse my settings for every repo that I have. Currently testing out [radicle](https://radicle.xyz) which seems promising.
👍 1
j
I am also intrigued by Radicle and Tangled... I hope these projects with a decentralised flavor will continue to grow.
1
k
@Robin Heggelund Hansen Please share your experience with Radicle here!
k
@Robin Heggelund Hansen It does look like you can set settings to a whole device rather than a single repo using the `-global` commandline flag. Am I understanding you right?
r
@Konrad Hinsen limited experience so far. I’m using it for a couple of repos, but I’m the only commiter. I do like that it’s local first. I like that I can create issues and patches (PRs) from the command line. The one thing I can currently imagine will be a problem is that you need to use a radicle client to add and comment on issues. It’s read-only in the browser (which makes sense, but…)
@Kartik Agaram i was thinking about how issues are setup (labels, which columns are shown etc.) and users (each repo has it’s own set of users and permissions). You can create a new repo using another as a template, but there’s no way to keep multiple repos in sync.
👍🏼 1
k
Thanks @Robin Heggelund Hansen! Requiring a locally installed client makes Radicle a developer-only tool. But then, I guess that's just the current state. I don't see anything about Radicle that would prevent putting the client into a browser for a wider public.
r
@Konrad Hinsen since Radicle uses ssh keys for authentication/identification, I'm going to assume that it's never going to be as easy as logging in to a website to leave a comment.
🫤 1
m
@Konrad Hinsen can you list top10 your favorite magit features? or 5. If you don't mind, ofcourse. (I am working on something here, and am interested in vcs ux opinions/experience reports)
k
@Misha A Magit makes commands discoverable via an interactive menu system. And that menu system has a much more reasonable structure than the git subcommands. Another important point is the embedding into a text editor. You can easily stage pieces of source code just by selecting them. Committing half of a change with command-line git is such a pain that nobody does it. With magit, I do it all the time.
👌 1
👀 1