Git without a forge (www.chiark.greenend.org.uk)
from maxint@programming.dev to programming@programming.dev on 22 Apr 15:13
https://programming.dev/post/29054605

#programming

threaded - newest

tux0r@feddit.org on 22 Apr 15:14 next collapse

Why use Git at all then? I thought the one reason why everyone wants to use Git these days are the forges.

HelloRoot@lemy.lol on 22 Apr 15:37 next collapse

distributed, asynchronous collaboration and versioning.

Or do you wanna send zipped up sourcefiles “project_dev_0.9.6.2_developername_featureID.zip” per email to a dozen colleagues who then have to manually merge it into their current WIP?

tux0r@feddit.org on 22 Apr 15:48 collapse

There is a difference between “not using a VCS” and “using Git”.

HelloRoot@lemy.lol on 22 Apr 17:08 collapse

Let me make it clear to you then.

Why use Git at all then?

For it’s VCS features.

I thought the one reason why everyone wants to use Git these days are the forges.

You thought wrong. Git is not wanted exclusively for the forges, but also for it’s VCS capabilities.

tux0r@feddit.org on 22 Apr 17:21 collapse

Which VCS capabilities make Git stand out in comparison to all other DVCSs if you don’t need a web UI?

HelloRoot@lemy.lol on 22 Apr 17:25 collapse

Personally:

I am used to git. When I don’t need the webUI, I would stick with git because it is already familiar to me.

tux0r@feddit.org on 22 Apr 18:05 collapse

Makes sense.

bleistift2@sopuli.xyz on 22 Apr 15:38 next collapse

To track changes to a project. You know, the thing Git has been made for.

tux0r@feddit.org on 22 Apr 15:48 collapse

There is a difference between “not using a VCS” and “using Git”.

bleistift2@sopuli.xyz on 22 Apr 17:18 collapse

Ha! No.

starshipwinepineapple@programming.dev on 22 Apr 15:44 next collapse

Did you read the article? The author shares their perspective.

For me, Git is quite powerful on its own with version control, diffs, branches, merging, etc. Forges just add a UI for some of these things, and add an issue tracker/ discussion/etc. Forges also add a more modem ui for repo access though git does have its own webserver you can use. I use git without a forge for a number of my personal projects that I’m not sharing with others or not yet sharing

tux0r@feddit.org on 22 Apr 15:51 collapse

Git is quite powerful on its own with version control, diffs, branches, merging, etc.

All version control systems do that, hence my question.

Git was conceived as a bazaar (because of its use for the Linux kernel), but most projects are more like cathedrals. In my opinion, Git is simply over-engineered for most projects. For projects that you don’t want to share with others, even CVS would probably suffice…

mesamunefire@lemmy.world on 22 Apr 16:10 next collapse

The biggest thing git does is one person can get one or many branches (AKA version control) on ANY machine. They all act like they are the source of truth. CVS/Mercurial/etc…all have the issue that they expect to be on one machine as the source of truth. And if that machine ever goes down…

Before git (ya im old), I used a plethora of services like git. There were times back then when a server was down and the history…was just gone.

tux0r@feddit.org on 22 Apr 16:16 collapse

Mercurial is decentralised, there is no single “source of truth”. (Not counting “upstream”, of course.)

mesamunefire@lemmy.world on 22 Apr 16:36 collapse

Huh interesting, maybe it was the way we used it 15-20+ years ago or maybe it changed. No clue. But yes you are correct.

tux0r@feddit.org on 22 Apr 17:04 collapse

Both Mercurial and Git started around the same time as a replacement for BitKeeper - which also was decentralised.

starshipwinepineapple@programming.dev on 22 Apr 17:33 next collapse

Well just speaking for myself, i use git without a forge for personal stuff because i was already familiar with git and it fits my needs. No need to learn another version control system for some basic projects i throw together

0101100101@programming.dev on 22 Apr 19:30 next collapse

I agree, but subversion is awesome!

tux0r@feddit.org on 22 Apr 19:56 collapse

It sure is! Glad I’m not alone. :-)

footfaults@lemmygrad.ml on 22 Apr 21:13 collapse

CVS would probably suffice…

CVS is awful. Even for local use.

villainy@lemmy.world on 22 Apr 20:43 next collapse

Git experience is highly transferrable. Unless you have some specific use case not supported by Git, why wouldn’t you use the one where the knowledge is most likely to carry over between projects/jobs?

tux0r@feddit.org on 22 Apr 20:54 collapse

I am one of those weirdos who prefer the best tool for a job, not the most popular one. And Git is - for me and my projects with exactly one branch (“trunk”) and three or four other contributors, with me being the BDFL - the worst choice.

footfaults@lemmygrad.ml on 22 Apr 21:13 collapse

Why use Git at all then?

Still need to version control the work. No editor’s undo buffer is a complete history of all changes

mesamunefire@lemmy.world on 22 Apr 15:30 next collapse

I worked at a place that just had a git on a sftp server and that was it. Worked well in a small team. Git is made for it.

Having a separate issue tracker turned out to not be a big deal at all. Theres a lot of niceties github has, but it turns out you really dont need a whole bunch to make good software.

Nowadays i would probably go with gitea or forgeo if I had to self host, but git by itself is perfectly fine.

[deleted] on 22 Apr 15:38 next collapse
.
tux0r@feddit.org on 22 Apr 16:16 next collapse

So, Fossil is perfect?

thomask@lemmy.sdf.org on 22 Apr 18:39 collapse

Fossil has a lot of features and config knobs.

FizzyOrange@programming.dev on 22 Apr 22:11 collapse

You can’t use that to assert that your view about not having something is correct.

IMO a bug tracker and PR review system are essentially and cannot be taken away. It would seem like most of the world agrees with me.

[deleted] on 22 Apr 22:19 next collapse
.
kixik@lemmy.ml on 23 Apr 10:31 collapse

Others have already mentions gerrit, no need to review on the forge, and there’s as well gitweb. I imagine there exists many other solutions much better than the forge MR/PR. Particularly reviewing PRs on github is really messy for me. Depending on how complex the review might become I end up branching to the PR branch locally and checking the complex stuff locally without the forge.

And there are many many bug trackers much better than the issue trackers. Bugzilla actually has kept improving, though I believe it might be too much for small projects, but there are many more.

I do agree with the article writer that one really needs to create too many accounts already, GH from MS, Gitlab, sourcehut.org (I really like this one better, but still you need yet another account), codeberg, gitea, and some with different instances with different accounts each… It’s crazy, and now AI crawlers getting on them all, and also violating FLOSS licenses… Notice on distributed private repos it’s way harder for AI misbehavior and illegal behavior to do what it does in general.

FizzyOrange@programming.dev on 23 Apr 21:48 collapse

That’s just assembling a forge from pieces…

Kissaki@programming.dev on 22 Apr 17:43 collapse

Did you not do code reviews? It’s the main thing I would miss. Being able to comment in-line, and manage iterations, is very valuable to me.

mesamunefire@lemmy.world on 22 Apr 18:04 next collapse

We did. You bring down the branch and then discuss. We used jetbrains and it had a function like that. But it was a while back.

solrize@lemmy.world on 23 Apr 08:00 collapse

Gerrit still exists for that. Whether it’s currently best, idk.

Kissaki@programming.dev on 23 Apr 08:43 collapse

Gerrit is a hosted service, no?

solrize@lemmy.world on 23 Apr 08:48 collapse

You can self host it.

Kissaki@programming.dev on 23 Apr 10:07 collapse

Their comment was about not having any hosted service though.

solrize@lemmy.world on 23 Apr 20:09 collapse

What does that even mean? If it’s a service, it’s a program running on some computer somewhere. Is that not hosting?

Kissaki@programming.dev on 24 Apr 07:12 collapse

They were talking about hosting the git repository via sftp - so bare file transfer - a bare repository. And how that was enough for them.

While that is also hosted, and hosted through a service, it’s only a file transfer service and hosting.

That means specifically without a hosted service like a forge or gerrit.

Which is why I was interested in how they handle stuff that is usually done through such forges and services / hosted software.

solrize@lemmy.world on 24 Apr 07:59 collapse

Oh I see. The Linux kernel has been doing fine with mailing lists (LKML) for decades, if that helps.

mormund@feddit.org on 22 Apr 16:57 next collapse

Can you use git without a forge? Sure. As long as you don’t give a hoot about the entry barrier. But for any open source project were you want to encourage contribution you better have a nice presence on a forge.

Kissaki@programming.dev on 22 Apr 17:45 next collapse

Even just being able to view the source code without cloning is very valuable. A bare repo does not provide that.

mesamunefire@lemmy.world on 22 Apr 18:32 collapse

Ive used this before: git-scm.com/docs/gitweb

Swedneck@discuss.tchncs.de on 23 Apr 08:54 collapse

i feel like this just keeps happening in the open source space, people go “Oh this is bloat, get rid of the bloat” and ardently insist that actually it’s better to use a bare TTY, despite that just… obviously being hilariously dumb?

Kissaki@programming.dev on 22 Apr 17:47 next collapse

Funny how this shows up as cross-posted to the same community when there’s been a post about it two months ago.

It shouldn’t be labeled "cross-"post, but the linking to earlier discussion is certainly valuable and useful.

I remembered this post.

gsv@programming.dev on 22 Apr 17:53 next collapse

Appreciate the KISS perspective.

For me, the project management features of a forge are extremely helpful. Setting milestones, assigning issues to them, defining timelines and regularly reiterating the planning has proven to accelerate our work as a team significantly. This experience refers to huge code bases (climate models) and medium to large team sizes, though. And probably also my bad memory 😵‍💫

I suppose it’s always good, though, to evaluate how much management a code will actually need in the end, and what tools correspond to that need.

thirdBreakfast@lemmy.world on 22 Apr 22:37 collapse

Yep. Glad he’s got a system that works for him, but as a solo dev I love my Forgejo. I self host it, (so no Trust issues) and if you’ve hosted any other services before, the setup is a simple Docker compose - so I’m not sure I accept the Heavyweight argument either.

FizzyOrange@programming.dev on 22 Apr 22:19 next collapse

Pretty dumb not to use a forge. Adds a huge barrier to contribution for little benefit. None of the reasons he gives make sense.

Maybe a good option for projects that you don’t want anyone else to contribute to, but then why make them open source in the first place?

Not using GitHub because it’s proprietary is an especially illogical stance. Virtually all websites are proprietary.

Markaos@discuss.tchncs.de on 23 Apr 06:59 collapse

Maybe a good option for projects that you don’t want anyone else to contribute to, but then why make them open source in the first place?

Because, at least to some people, open source is more about user freedom (to modify the software and share the modifications with anyone they wish) and less about collaboration.

For example every time I publish some simple utility that I wrote for myself and decided could be useful for other people, I release it under a reasonable open source license and pretty much forget about it - I’m not going to be accepting merge requests, I don’t have time to maintain random tiny projects. If I ever need to use the utility for something it doesn’t quite do, I’ll check if any of the forks seem to have implemented it. If not, I’ll just implement it in my repo.

The reason I’m publishing the code is because I know how much it sucks when you find some proprietary freeware utility that almost does what you need, but you can’t fix it for your usecase on account of it being proprietary for no reason (well, author’s choice is the reason, and I respect it, but it’s still annoying)

FizzyOrange@programming.dev on 23 Apr 07:23 collapse

That’s a fair point. I don’t think that’s the case here because he talks about all the bad ways he prefers to receive contributions (email, patch files, git bundle etc.).

pcouy@lemmy.pierre-couy.fr on 23 Apr 11:22 next collapse

To anyone saying it’s dumb not to use a forge, have you heard of a little open source project called Linux ? It does not use a forge either

ulterno@programming.dev on 23 Apr 21:55 collapse

I had been thinking of self-hosting my little repos and realised GitLab was too heavy for my taste.

Just needed a code browser.

A forum alongside with connections to the repo would be good, but again, gets heavy.

e8d79@discuss.tchncs.de on 24 Apr 08:07 collapse

A self-hosted sourcehut instance might be what you are looking for.

ulterno@programming.dev on 24 Apr 08:48 collapse

All features work without JavaScript

That’s great