Live data from Hacker News

Why SQLite does not use Git (2018)

sqlite.org

101–110 of 454 posts

Re: Why SQLite does not use Git (2018)

#101
post #98

Earlier quoted context omitted.

Git actually is bundling a lot of stuff you probably don't realize. Run 'git instaweb' for example and it will spin up a local CGI server and perl CGI script to give a very simple web UI: https://git-scm.com/docs/git-instaweb Fossil isn't much different in core functionality here. There is a ton of email client integration and functionality in git too that most people who only use GitHub probably have absolutely no i…

FWIW, that isn't actually part of the core git binary. Because unlike fossil, git is a collection of executables, not just one.

Yes, which is why git is a pain in the butt to install and you have to rely on your OS packages (which includes all the kitchen sink stuff) or a GUI installer with all the necessary dependencies vs. Fossil which is just download executable and done.

Re: Why SQLite does not use Git (2018)

#102

Seems like a textbook example of NIH to me. By the time you understand git well enough to design a good replacement, you’re bound to be an expert and ought to appreciate more the design of git. If you don’t like the lack of a good GUI or web application, you can just build one that works the way you want and still works with git.

Not to be whiny, but we had better versions of git before git was the standard. I'm thinking specifically of Mercurial.

Re: Why SQLite does not use Git (2018)

#103
post #46

Most of these arguments are nonsense. "Standing up a git server is non-trivial." It's literally just "git init" and providing ssh access to the directory. Most of the other ones seem to suggest the author never learned git. git has a beautiful data model and a horrible user-space to poke at it. Writing a new user-space makes sense. This seems to poorly re-invent the data model, by virtue of not bothering to understan…

> and providing ssh access to the directory

Well, doing that securely and somewhat aclainf isn't easy and file access permissions are a pain.

If you remember to update the index regularly serving .git via HTTP is easy for read-only access, but all else is quite a bit more involved.

Re: Why SQLite does not use Git (2018)

#104
post #42

I'm glad Fossil works for them, but this line is bothered me: > In contrast, Fossil is a single standalone binary which is installed by putting it on $PATH. That one binary contains all the functionality of core Git and also GitHub and/or GitLab. It manages a community server with wiki, bug tracking, and forums, provides packaged downloads for consumers, login managements, and so forth, with no extra software require…

> git, for all its issues, is not bundling the kitchen sink. It doesn't bundle the kitchen sink in its native *nix environment, but for Windows it does. Git installer is > 50 MB, including (if I remember correctly) even a terminal. While you can download Fossil as a 3.3 MB standalone binary for any supported platform.

Let's not forget how long it even took for there to be a reasonable Windows build of git. Git implicitly relied on significant amounts of Linux tooling which required bringing over an entire Mingw environment.

Re: Why SQLite does not use Git (2018)

#105

Earlier quoted context omitted.

Directories full of stuff is similar to websites with URL paths like "/site.php?page_id=18231238". Or even better when subdomains get involved and it looks like "secure3.action.domain.com/admin.php?page=123424". It technically works but is a bit ugly. Also another web analogy might be dynamic linking being similar to microservices. People want to build and ship smaller components that can be swapped out independently…

Dynamic libraries make things nice to swap out for hacking or testing, though.

The term "hacking" is working on multiple levels here of course.

Re: Why SQLite does not use Git (2018)

#106
I saw this video few days ago which describes some of the alternative to Git and of course Fossil is one of them. I have used Fossil in some projects and found to be ok. I found Pijul https://pijul.org/ described in this talk to be very interesting. It was discussed on HN before. Source: https://www.youtube.com/watch?v=M4KktA_jbOE

Re: Why SQLite does not use Git (2018)

#108
post #46

Most of these arguments are nonsense. "Standing up a git server is non-trivial." It's literally just "git init" and providing ssh access to the directory. Most of the other ones seem to suggest the author never learned git. git has a beautiful data model and a horrible user-space to poke at it. Writing a new user-space makes sense. This seems to poorly re-invent the data model, by virtue of not bothering to understan…

Says the person who clearly has never been the sysadmin for said web server.

Dealing with SSH on a significantly multi-user system is anything but trivial. In more ways than one, this exact problem more than anything else is what spurred the invention of what we now call containers, and it still is not a perfect solution.

Re: Why SQLite does not use Git (2018)

#109
post #78
post #42

Earlier quoted context omitted.

> git, for all its issues, is not bundling the kitchen sink. It doesn't bundle the kitchen sink in its native *nix environment, but for Windows it does. Git installer is > 50 MB, including (if I remember correctly) even a terminal. While you can download Fossil as a 3.3 MB standalone binary for any supported platform.

But on a developer machine this doesn't matter does it?

Actually it does, because with the windows git it includes it's own copy of ssh and bash, both of which will clash and fight with msys and/or other ssh installs - including the copy of ssh that microsoft themselves tuck away in \windows\system32

it's quite 'normal' for git-for-windows' ssh-agent to completely disable ssh-agent from working properly system-wide because it ends up pointing things at the wrong ssh-agent.

Re: Why SQLite does not use Git (2018)

#110

Earlier quoted context omitted.

Directories full of stuff is similar to websites with URL paths like "/site.php?page_id=18231238". Or even better when subdomains get involved and it looks like "secure3.action.domain.com/admin.php?page=123424". It technically works but is a bit ugly. Also another web analogy might be dynamic linking being similar to microservices. People want to build and ship smaller components that can be swapped out independently…

Dynamic libraries make things nice to swap out for hacking or testing, though.

Definitely true for hacking, but if we're talking about testing then it's really not so different from adding `if test_mode then ...` to your code.
Post reply on HN