this post was submitted on 11 Apr 2024
122 points (78.8% liked)

Technology

35113 readers
310 users here now

This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.


Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.


Rules:

1: All Lemmy rules apply

2: Do not post low effort posts

3: NEVER post naziped*gore stuff

4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.

5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)

6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist

7: crypto related posts, unless essential, are disallowed

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Drummyralf 4 points 8 months ago* (last edited 8 months ago) (1 children)

Total noob here when it comes to all things git, but can't you simply host git in a privately owned server? I thought I saw that when installing some packages on my Synology NAS.

[–] [email protected] 6 points 8 months ago (2 children)

Yes, but how are you gonna accept pull requests? You need a frontend and a frontend needs an account.

Of course, all of these alternative forges (gitea, forgejo, gitlab) can be self hosted on your own private server.

[–] [email protected] 2 points 8 months ago (1 children)

no, you can accept them on an open port or via CLI

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago) (1 children)

Not sure what you're suggesting. Here... are you suggesting random write access to a port on a device you host? Anybody can push a branch to your selfhosted repo?

Or are you talking about self-hosted forgejo, gitlab, etc.?

Anti Commercial AI thingyCC BY-NC-SA 4.0

Inserted with a keystroke running this script on linux with X11

#!/usr/bin/env nix-shell
#!nix-shell -i bash --packages xautomation xclip

sleep 0.2
(echo '
spoiler Anti Commercial AI thingy [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) Inserted with a keystroke running this script on linux with X11 ```bash' cat "$0" echo '``` :::') | xclip -selection clipboard xte "keydown Control_L" "key V" "keyup Control_L"

:::

[–] [email protected] 1 points 8 months ago (1 children)

Yes, if you want to accept pull requests from anyone, you can set up a jailed git server with public access, for example.

[–] [email protected] 2 points 8 months ago (1 children)

That's not a pull request, but a merge request. Besides the point though. What I'm getting at is: isn't that asking for trouble? Somebody could

while true ; do
  head /dev/urandom -c 100MB > file.txt
  git add file.txt
  git commit -m "new commit"
  git push
done

and fill up your hard drive. Also, depending on the protocol, they could try fuzzing it. Or, pipe /dev/urandom into nc and blast your git port.

And of course, the first problem is discoverability. Who's going to find your random, unfederated, git service?

It just doesn't sound like a convincing solution, IMO.

Anti Commercial-AI license

[–] [email protected] 1 points 8 months ago

no, it's not specific to merge requests. theres a tool called git-shell that prevents abuse

[–] [email protected] 2 points 8 months ago (1 children)

You need a frontend

Yes, but the requirement of said frontend are very small.

and a frontend needs an account.

Not required at all actually. For example, mirror a github repo in gitea. You'll see all the commits, their messages, and who made them. Yet that gitea instance isn't accessible publicly. None of those people have an account, and none of them can login even if they could access the instance. A commit is just attached to a name, that is user configurable, and a lot less data minable than a "real" account.

[–] [email protected] 2 points 8 months ago (1 children)

Would you call that open source? A read only gitea instance?

If you want to get away from GitHub a mirror won't cut it, it has to be the main dev platform.

[–] [email protected] 1 points 8 months ago (1 children)

You missed the point of my example entirely. How can those commits exist, and those people exist in that instance if they don't have accounts? I was refuting your statement that a frontend needs an account. By mirroring an existing repo, as an example, you could verify that my claim is correct. Git as platform is already decentralized and doesn't require accounts. You could email someone your git diff's and it will function the same.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

I feared as much, because the same could be said about your comment above.

I already mentioned git send-email in my comment. But the ux of that is terrible. So if you want good UX you're in account hell, having to create a new profile for every hosting site.

You can have a nice, terms of service free but read only forge, or you have terms of service and account bullshit or you can have the dev experience of git send email. Choose one of the three and until we have federation they are all terrible in some aspect.