Git is a BAD choice for a package manager .... someone else agrees with me!

At our last online meetup I ranted about the drama FreeBSD changing from SVN to GIT (to manage their packages caused), and the large number of packages that are now unavailable as a result.

FreeBSD has now become as pathetic begging for maintainers as Wikipedia has at begging for “just another $2.50 to keep all the worlds knowledge alive”. The irony is that FreeBSD had plenty of package maintainers pre GIT.

===> NOTICE:

The Sqlite port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

Making sure you're not a bot!

It seems that I’m not the only one with this opinion, here is a very informative link on the chaos this GIT fanboyism causes for other programming languages. The author doesn’t even mention Freebsd in his article.

Package managers keep using git as a database, it never works out

Cheers, Techman

He doesn’t say what his solution for a large repository would be.

1 Like

He does, in the section “Beyond package managers” he states

if your site has lots of content or updates frequently, use a database instead

In section “The pattern” he states

Missing database features. Databases have CHECK constraints and UNIQUE constraints; git has nothing, so every package manager builds its own validation layer. Databases have locking; git doesn’t. Databases have indexes for queries like “all packages depending on X”; with git you either traverse every file or build your own index. Databases have migrations for schema changes; git has “rewrite history and force everyone to re-clone.”

To me he is suggesting that a database is the answer, i.e. a DCVS that uses a database, and most do, but not GIT, it has no database.

I can see why GitHub is tempting as a ready-made and cheap distributed file hosting solution.

Would a sqlite database in a git repository be the best of both worlds?

Hi James.

I’ve no idea. FreeBSD was using Subversion before they changed to GIT.

I read that Subversion initially used the Berkley ‘DB’ but changed to Sqlite at some point. Whatever the case, surely just reverting to SVN would have saved a lot of trouble, not to mention that all the packages would now compile again as the SVN ‘TAGS’ feature would once again be present.

That was the other part of the problem, GIT isn’t compatible with SVN ‘TAGS’ which is used by a LOT of FreeBSD packages, and they were all removed from the repo when they failed to compile.

After installing freeBSD-15, I discovered that some of the removed apps are back now, I’ve no idea why that is as they aren’t talking about this situation.

(it’s like ‘fight club’)

Cheers,

Textman

It’s like Fight Club because they hit you as hard as they could?

…or are you Tyler Durden? Maybe you’ve been steadily migrating these missing packages while you thought you were sleeping?

history | grep git | wc -l

No, it’s because the first rule of Fight Club is that you never ‘talk about Fight Club’ :slight_smile:

In the same way that no one is talking about the FreeBSD change to GIT for managing their packages, and all the problems it caused.

Keywords: Ostrich, head, sand …

Cheers,

Terry