Live data from Hacker News

Why SQLite does not use Git (2018)

sqlite.org

351–360 of 454 posts

Re: Why SQLite does not use Git (2018)

#351

Earlier quoted context omitted.

Generally git‘s support for a stacked PR workflow is poor [0], but imho that is the future of team collab (git is great for very asynchronously built projects, like the linux kernel). I also wonder, how much better git could be if it was based on DAGs not trees (I may want to use a changeset that is still developing in more than one branch without maintaining copies of it) and corollarily I‘d like to rebase subtrees…

> (I may want to use a changeset that is still developing in more than one branch without maintaining copies of it) Not sure if you realize, but a commit is a state of all files in the repository, not a patch. Patches are calculated for you at display time (and can be calculated against any other commit, not just a parent). Sounds like you may be confused because of trying to apply a wrong mental model of how the rep…

> Not sure if you realize, but a commit is a state of all files in the repository, not a patch.

I think that's a core problem. It's not just that git calculates a patch to show you, it's that — in every git-using project I've seen — a developer writes a patch, and writes a commit message describing that patch. It's not just github. And then developers make the incorrect assumption that git's later presentation of the commit as a patch matches the original patch and is accurately described by the commit message.

Re: Why SQLite does not use Git (2018)

#352
post #37

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…

I think SQLite is fantastic and Richard is obviously a genius. But I always found his obsession with single binary monoliths odd. As you mentioned it goes against the Unix philosophy of do one thing and do it well. To me it's obviously cleaner to divide a system into components that can later be swapped or modified independently.

> To me it's obviously cleaner to divide a system into components that can later be swapped or modified independently.

Why is "cleaner" the only thing that matters? Why not "functional/featureful"? It's open source so it can be modified, but I'm not sure why ability to swap matters.

Re: Why SQLite does not use Git (2018)

#353

Earlier quoted context omitted.

Subversion is basically CVS done right. The problem is that CVS was a dead end that didn't scale to a distributed development model. Git goes back to the local RCS model and adds atomic commits to that model. That's how it climbed out of the local optimum that was Subversion. There were a couple controversial choices that Git made, for example not tracking renames and not having linear revision numbers, but they turn…

I should at some point alias git checkout to throw a warning, git switch/restore are clearly a better choice, but unfortunately checkout is ingrained in muscle memory at this point.

I did an alias co for checkout a while back, now I don't think I will ever unlearn that.

Re: Why SQLite does not use Git (2018)

#354
post #235

Earlier quoted context omitted.

Actually I do to save me from the deprived interfaces the OS ships with. The Git install is one of the best Cygwin-likes I've encountered. It has the majority of tools needed and reasonable integration with the host OS. Very nice for getting something done quickly on any random Windows box.

It's fine if you don't have anything else installed already, but I have MSYS2 installed so it'd be nice if it were optional. Realistically an extra 50mb is not going to materially affect my life, but it's still aesthetically displeasing.

I agree - that's why I use the git package in MSYS2, which afaik is just as capable (and makes it much easier to use git with the full array of UNIX tools I might want to use that don't necessarily ship with Git for Windows).

Re: Why SQLite does not use Git (2018)

#355

> In contrast, Fossil is a single standalone binary which is installed by putting it on $PATH. ... It manages a community server with wiki, bug tracking, and forums, provides packaged ... Standing up a community server for Fossil takes minutes. Let's see... About a year ago I try to set up fossil because I wanted the issue tracking it supposedly provides. I'm already using git for VC and will stick with it. Spend sev…

Make a repo. That's a file that lives wherever. Go to some directory, fossil open filename. Now you have a working directory. Type fossil ui, now you're looking at it in a browser. It sounds like you want a version running on a machine that multiple people log into to access the UI. That I don't know how to set up. Spinning up the UI locally makes a lot more sense to me that sharing a single instance with the world.

> Make a repo. That's a file that lives wherever. Go to some directory, fossil open filename. Now you have a working directory. Type fossil ui, now you're looking at it in a browser.

Don't remember where I got to, I think --force got me a repo finally but the browser, well, I just got 404 then gave up.

> It sounds like you want a version running on a machine that multiple people log into to access the UI

Nope, mine is a one-man project, simple as you like.

Re: Why SQLite does not use Git (2018)

#356

Earlier quoted context omitted.

The concept that you can isolate "one thing" and it's not in itself "a set of other things" is a very nasty myth in the world of programming. Everything is composite. Everything is a pipeline of commands. Made of things. The "job to do" is in the eye of the beholder, not absolute. The "single responsibility principle" is not applicable in reality. It's always a tradeoff of maintaining a balance of cohesion and modula…

They're not saying it doesn't encapsulate more than one thing. They're saying *at the abstraction level of "stuff you need to install and run" it is one thing.

My comment is in response to this in the parent comment:

> I do prefer the "do one thing and do it well" approach.

Re: Why SQLite does not use Git (2018)

#357
post #339

Earlier quoted context omitted.

Many of those variations of ethernet remain compatible, 10g switches can often negotiate down to 10/100.

I’ve worked with many switches. I have not encountered a 10g switch that will negotiate to 10m. 100m is not automatic in most cases. These very old protocols are very different from modern 10g-100g. So much so that the transceivers may need to load a completely different firmware to even understand it.

100g may be too high, but my micro tick does fine: https://mikrotik.com/product/s_rj10

(I’ve not seen 100g over copper, but 10g is doable)

I don’t know if it will go down to half duplex.

Re: Why SQLite does not use Git (2018)

#358
post #266

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…

>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. OOC, why does this stand out for you? Just to explain my curiosity, I've worked on Mac since I was a kid starting with System 6 and then going to OS X when it came out…

Fair enough, for message boards it's fine. I think I was mostly just thinking about old/sloppy WordPress sites where you might click on "about us" and it takes you to ?page_id=1234. Feels like a lack of attention to detail compared to /about-us. Similarly, a binary surrounded by a bunch of folders and dlls feels like a lack of attention to detail (and thus kind of "corporate" as the previous poster mentioned).

Re: Why SQLite does not use Git (2018)

#359

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…

> 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: ~ $ git instaweb fatal: git was built without support for git-instaweb (NO_PERL=YesPlease).

> NO_PERL=YesPlease

git showing off its inner INTERCAL

Re: Why SQLite does not use Git (2018)

#360
post #233
post #221

Earlier quoted context omitted.

To paraphrase Bjarne Stroustrup, there are only two kinds of version control systems: the ones people complain about and the ones nobody uses.

Reminds me of what Bungie said in one of their GDCs. They don’t mind it (too much) if people get heated on their forum or subreddit, because people who care about Destiny are the ones that get worked up. It’s when most stop complaining or praising that they get worried, because it means apathy has set in.

YoshiP director/producer of FFXIV from Square Enix said the same thing.

"3. Learn to listen and adapt. A complaint is worth twice a compliment. The silent always leave first. If citizens are complaining, it means they still care."

Post reply on HN