← Back to context

Comment by XorNot

14 hours ago

Scrapers scrape every link they can find.

The git host example is probably the one which Anubis is the dumbest defense for: the main reason to have those links is for easy machine interaction. So that's dead when you implement it.

So why even host the links? It's a git repo: send them a local got client and let them clone the repo in browser or something.

The main reason to have those links is for people to click on them. No sensibly programmed machine is scraping diffs from a git web front end.

  • That's exactly what's happening to the Linux git repository. The server constantly has mutltiple CPU cores dedicated to rendering git of various old, dead branches in html for scrapers.

  • Not to mention it is the least efficient representation of git commits. It seems a lot of people are unaware that git generates the diff representation you see with "git show" on the fly -- internally, commits are Merkle trees representing a snapshot of the repo file contents.

    As you said, if you actually want to interact with a remote git repo you'd do so with packfiles not diffs.

> why even host the links? It's a git repo: send them a local got client and let them clone the repo in browser or something.

I document my code, in issue and elsewhere on the Web, by referring to specific commits so having a URL for each is useful to me at least.