Most active commenters
  • skrebbel(4)

←back to thread

128 points nvader | 28 comments | | HN request time: 0.001s | source | bottom
1. akabalanza ◴[] No.46190489[source]
I consider git the best software ever written. I used to work with some other SVCs, and I cannot thinking on leaving git now. Somehow, I feel it like a limitation for my mind.

I'm following this Jujutsu project, I'm genuinely curious to see what it can bring to the SVC scene.

replies(9): >>46190520 #>>46190694 #>>46190754 #>>46191740 #>>46192251 #>>46194535 #>>46194924 #>>46195104 #>>46201905 #
2. DarkNova6 ◴[] No.46190520[source]
> I consider git the best software ever written.

How so? I worked with Git all my professional life and I can't deny its efficacy. However, I would not call it un-improvable given all types of corner case issues I have had with it over the years.

replies(1): >>46190847 #
3. skrebbel ◴[] No.46190694[source]
No software that has 3 names for the same thing (git stash —cached vs —keep-index wtf‽) deserves to be described as “the best ever written”
replies(1): >>46198006 #
4. Hammershaft ◴[] No.46190754[source]
I think Git is incredible version control hiding behind a terrible interface.
replies(1): >>46191832 #
5. akabalanza ◴[] No.46190847[source]
Maybe "best ever" is too bold, but both proven efficacy and mainstream popularity for over 15 years, without being a bulky thing everybody just accept (like vscode), I don't see many other software examples.

Anyway, sorry for triggering you with the first bold statement! I actually wanted to emphasize the curiosity over jj.

replies(4): >>46191624 #>>46191801 #>>46192535 #>>46193879 #
6. gilrain ◴[] No.46191624{3}[source]
> Anyway, sorry for triggering you with the first bold statement!

Do you imagine someone to be triggered any time they correct you? Like, a sort of trigger you respond with whether accurate or not?

replies(1): >>46191909 #
7. OvbiousError ◴[] No.46191740[source]
Having worked with cvs and svn, git has been an absolute blast.

That said, the first thing I do now in a repo is jj init --colocate. The fact alone that there is an operation log in jj, so you can easily revert your last command, or go back to any point you want, is mind blowing coming from git and having experienced frantically digging through the reflog.

But that aside, the way to work with branches ahem bookmarks, commits, conflicts, just makes so much sense in a world where simultaneous feature branches are a thing.

replies(2): >>46191824 #>>46194551 #
8. oblio ◴[] No.46191801{3}[source]
> without being a bulky thing everybody just accept

Git isn't bulky in terms of RAM usage but it is bulky in terms of mental capacity that has to be allocated to it.

9. gcr ◴[] No.46191824[source]
Keep in mind that you still need to occasionally run jj commands, even in collocated repositories

Example: jj snapshots the working copy on any jj command but not any git command

It’s a leaky abstraction

10. oblio ◴[] No.46191832[source]
An incredible version control system would probably be able to version empty folders, too. And other limitations I'm forgetting right now.

It's good but I wouldn't call it incredible.

I hope some day we do get a better SCM.

11. notrealyme123 ◴[] No.46191909{4}[source]
Found myself resonating with this a lot. Food for thought.

Thanks for the comment.

12. regularfry ◴[] No.46192251[source]
My journey was CVS->SVN->darcs->Hg->git. I can thoroughly recommend at least playing around with the others to see what you're missing. Darcs in particular I remember as having a much nicer model than either git or mercurial, but it had a horrible corner case behaviour. Pijul is supposed to fix that, but I haven't tried it yet.
replies(2): >>46195021 #>>46197289 #
13. DarkNova6 ◴[] No.46192535{3}[source]
Not triggered at all, I was just asking a curious question :-)
14. fastasucan ◴[] No.46193879{3}[source]
>Anyway, sorry for triggering you with the first bold statement! I actually wanted to emphasize the curiosity over jj.

People does not have to be triggered to ask follow up questions. Its ok to even ask a challenging question as a response of a statement, without being an indication of their mood.

15. steveklabnik ◴[] No.46194535[source]
A lot of us who like jj felt similarly about git. Two pieces of software can both be good :)
16. steveklabnik ◴[] No.46194551[source]
Colocation is the default these days, by the way.
17. spit2wind ◴[] No.46194924[source]
That's interesting. I consider git the worst software ever written!

I speak specifically of the UI. Obviously the underlying system works. Yet it's totally within reason that the UI has wasted trillions of money and many person years in lost productivity.

Napkin math. It's easy to waste 30 minutes figuring out what the heck is going on after a command didn't work, or explaining what a detached head is to a newbie, or any number of completely avoidable issues were the UI better.

Consider the 26.9 million developers in North America[1]. How does one estimate the average salary across NA? Some in SV make 3x that. Elsewhere, it's conceivable that people make considerably less. Let's just say 100k. That's 100,000÷52÷40=48/hr or 24 per half hour. Anyone with git, I think it's safe to say, has had at least one stupid issue that took 30 minutes because of the UI. That's 26.9×24=645,600,000 monies.

In my experience and what I've seen of anyone who'a used git, 30 minutes is a gross underestimate. And people use git outside of NA. It's easily trillions in waste.

https://en.wikipedia.org/wiki/Software_engineering_demograph...

18. spit2wind ◴[] No.46195021[source]
Have you used fossil? If so, what are your thoughts?
19. IshKebab ◴[] No.46195104[source]
Git is a clever idea with a terrible implementation. Definitely not the best software ever written.
replies(1): >>46199095 #
20. aj_hackman ◴[] No.46197289[source]
What motivated you to move from Mercurial? I'm still using HG for personal projects because it's so easy to self-host on a Raspberry Pi. Just `hg serve -p 8001` or whatever and I'm able to use TortoiseHG from any machine to easily stage commits.
21. 1718627440 ◴[] No.46198006[source]
That is not the same thing, --cached means use only the version cached in the index, --index means also use the index. What is the third thing you have in mind?
replies(1): >>46202077 #
22. adastra22 ◴[] No.46199095[source]
Frustratingly, it isn’t an original idea either, and there were better implementations even at the time.
23. antonvs ◴[] No.46201905[source]
> I consider git the best software ever written.

You haven't used much software, I take it.

24. skrebbel ◴[] No.46202077{3}[source]
That’s totally the same thing, they’re about what to do with the staging area but using 2 words for it (index and cache). The third term is “staging area” or the flag --staged for other commands.

Any sane tool uses one word for each concept, not three. The Git CLI is full of this sort of shit and it drives me mad.

replies(1): >>46202570 #
25. 1718627440 ◴[] No.46202570{4}[source]
The term "staging area" doesn't originate from Git itself, it was coined by third-parties. The single term you are looking for is index, it used to be cache, but was renamed long ago, and now cache only remains as a verb in some places.
replies(1): >>46202739 #
26. skrebbel ◴[] No.46202739{5}[source]
It wasn’t renamed. If it was renamed they’d have deprecated --cached and introduced a new flag with a proper name.

Also why does “git restore --staged” exist if the term “staging area” isn’t from Git? And why does “git add -i” have the words “staged” and “unstaged” all over the output?

The answer to all these questions is that Git is made by people who care very deeply about data structures and very little about users. Git is needlessly difficult and this is just one of the many places where it shows.

Don’t get me wrong, I’d much rather use a VCS with good data structures than one with good naming. Git is popular for a reason. But the bad CLI design is just such a waste because it makes Git needlessly hard to learn to the benefit of absolutely nothing. It’s not a tradeoff. It’s just shitty.

replies(1): >>46203778 #
27. skrebbel ◴[] No.46203778{6}[source]
lol turns out I misremember and it's "git stash --staged", the --cached parameter doesn't exist and my moist LLM hallucinated it. I've used Git for 15 years every day and I still don't know the basic commands.
replies(1): >>46224085 #
28. ◴[] No.46224085{7}[source]