When did Git become terrible? Let's track down the specific commit...
-
@captain I remember git was just way faster than everything else for large repositories (like the linux kernel and Firefox). There was many competing options with better usability, but everybody wanted to bet on what was more used, because nobody wants to be stuck with some abandoned unsupported OSS tool.
-
@asdf said in When did Git become terrible? Let's track down the specific commit...:
@dse said in When did Git become terrible? Let's track down the specific commit...:
I pay for BeyondCompare (that and PyCharm are the only software i pay). It is the best for merging, 3way, directories, pictures,...
Now I'm curious. What does BeyondCompare do that PyCharm's merge tool cannot do?
Many more file formats, better language-aware diff, fast and rule-based directory diff, and in general a much better interface.
But yeah PyCharm is enough for .py (never tried e.g. cpp)
-
Whenever threads about Git come up, I'm just glad I've never been subjected to it.
At this point, if I were interviewing for a job and was told they used Git I would consider it almost a deal breaker
-
@jaloopa said in When did Git become terrible? Let's track down the specific commit...:
At this point, if I were interviewing for a job and was told they used Git I would consider it almost a deal breaker
I guess you'll have no choice at some point.
And, as much as we like to bitch about it, once you get past the initial difficulties, memorize the most important commands and learned how it actually works, you might even like it. It's a very powerful tool with a shitty interface.
-
@asdf could always use GitHub that supports using SVN clients to talk to their Git repos.
-
@asdf said in When did Git become terrible? Let's track down the specific commit...:
I guess you'll have no choice at some point.
Maybe I've been lucky or maybe it's not that big in the UK, but I haven't actually interviewed anywhere that uses it. It helps that I'm focused on .Net and windows development, and most places seem to stick with VS and TFS because it's what's built in
-
-
And then the murders began
-
@masonwheeler said in When did Git become terrible? Let's track down the specific commit...:
Just use Beyond Compare, folks. It's hands-down the best diff/merge tool I've ever worked with. It's not free, but even the premium version with a bunch of advanced features isn't expensive. (Around $40 IIRC.)
One would think it's easy to get my employers (owned by one of the 50 largest corporations in the world) to buy a $40 tool, but it's pretty much impossible.
-
I've pretty much not found the need for an external diff tool nowadays, especially since I discovered
git diff --word-diff
-
@djls45 said in When did Git become terrible? Let's track down the specific commit...:
Notepad2
I thought I was the only person who ever heard of it. But then, the only reason I used it in the first place was that it had a window transparency feature that made it great for making ASCII art.
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
If they think KDiff3 is anywhere approaching "good", no. No it is not good.
KDiff3 sucks.
I use Meld, personally:
-
@yamikuronue said in When did Git become terrible? Let's track down the specific commit...:
Huh, this easygit looks like a good stepping stone for teaching my coworkers how to use the command-line version of git instead of SourceTree.
... And Another Thing: when did SourceTree become terrible? Was it always terrible? Did my standards for software increase when I wasn't looking? I thought I was fussy enough about having software which fucking gets it's shit together within my fucking lifetime.
-
@raceprouk said in When did Git become terrible? Let's track down the specific commit...:
If source control systems were steering wheels, this would be Git:
That would be the dumbed down version of Git. There's a significant fraction of advanced Git usage that's probably best described as being like driving along with hood open, live-tuning the engine on the freeway…
-
git turnleft
git turnleft --go-right
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
@raceprouk said in When did Git become terrible? Let's track down the specific commit...:
If source control systems were steering wheels, this would be Git:
That would be the dumbed down version of Git. There's a significant fraction of advanced Git usage that's probably best described as being like driving along with hood open, live-tuning the engine on the freeway…
I don't think I've seen anything that would be considered that hacky. What features are you thinking about?
-
@cark said in When did Git become terrible? Let's track down the specific commit...:
What features are you thinking about?
The advanced history rewriting stuff gets absolutely terrifying. And yes, I've used it for real…
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
@raceprouk said in When did Git become terrible? Let's track down the specific commit...:
If source control systems were steering wheels, this would be Git:
That would be the dumbed down version of Git. There's a significant fraction of advanced Git usage that's probably best described as being like driving along with hood open, live-tuning the engine on the freeway…
In that case:
Standard Git:
Advanced Git:
Is that about right?
-
@raceprouk said in When did Git become terrible? Let's track down the specific commit...:
Is that about right?
If only there was some sort of autopilot
-
@onyx OMG, this explains something. Will write up in the thread of doom later when I'm not on mobile.
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
@cark said in When did Git become terrible? Let's track down the specific commit...:
What features are you thinking about?
The advanced history rewriting stuff gets absolutely terrifying. And yes, I've used it for real…
Interactive rebase? filter-branch? Sure, they're easy to mess up, but it's also really hard to lose data when you've got the reflog, so there's no harm in messing it up. In fact, I'd say these advanced features are what makes learning git worth it
-
@cark It was stuff at the advanced end of what filter-branch does. I'm really happy to have forgotten exactly what I did there…
-
@jaloopa said in When did Git become terrible? Let's track down the specific commit...:
At this point, if I were interviewing for a job and was told they used Git I would consider it almost a deal breaker
Good luck trying to avoid it.
I mean that honestly, but also sarcastically because it's unavoidable.
-
@shoreline said in When did Git become terrible? Let's track down the specific commit...:
... And Another Thing: when did SourceTree become terrible?
As long as I've been aware of it, it's been terrible.
It's like the laziest developer took the worst GUI framework he could find and just started adding one button and/or menu for each Git command, with no planning, rhyme or reason.
Then he somehow made it about 40 times slower than any other GUI Git client I've ever used. I honestly don't even know how they made it so slow, but goddamned is it slow.
@shoreline said in When did Git become terrible? Let's track down the specific commit...:
Was it always terrible?
I suppose there might have been some beta that I never used that was good? But likely not.
@shoreline said in When did Git become terrible? Let's track down the specific commit...:
Did my standards for software increase when I wasn't looking?
I hope so. If a few million other people start raising their standards too, maybe we'll start getting some decent software for once.
-
@raceprouk said in When did Git become terrible? Let's track down the specific commit...:
Is that about right?
A glass cockpit? No.
Try a pre-glass cockpit:
(That's the Concorde's. Certainly a powerful plane, but designed before portable computers so hoo-boy that's a hell of a cockpit.)
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
Good luck trying to avoid it.
I mean that honestly, but also sarcastically because it's unavoidable.I wouldn't be adverse to staying at my current company and working my way up through architect type roles. It's about time I stayed at a place long enough to get promoted. There's no clamour to switch here, and if I was in any position to control it I'd resist calls for a change.
If I do end up looking for another job at some point, we'll see. I always ask about source control in interviews anyway
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
@dkf The nice thing about using Visual Studio for merges, at least for languages it speaks fluently, is that since it has some knowledge of the syntax it can take care of all the trivial shit for you and leave only the truly conflicting changes.
Yeah, I miss the old days...
// Merge Conflict // 1.01.source.cs if (something == true) // 1.02.source.cs if (something == true)
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
@raceprouk said in When did Git become terrible? Let's track down the specific commit...:
Is that about right?
A glass cockpit? No.
Try a pre-glass cockpit:
(That's the Concorde's. Certainly a powerful plane, but designed before portable computers so hoo-boy that's a hell of a cockpit.)
Back when they really needed co-pilots.... geez.
Grab the wheel, I'm going to go check the altitude.
-
@xaade said in When did Git become terrible? Let's track down the specific commit...:
Back when they really needed co-pilots.... geez.
Co-pilots, navigators, and engineers.
Now 90% of flights can be safely conducted with a single pilot. The reason we have two is for backup/safety reasons. (A.k.a. that guy a decade ago who decided to lock out his co-pilot and commit suicide and take a hundred innocent people with him. Probably also what happened to Malaysia Airlines Flight 370, but we don't know that for sure-- in other words "safety" for the human factor, not "safety" for monitoring the machine, which at this point is far more reliable than the human ass in the seat.)
-
@blakeyrat I'm reminded of a joke that must be getting a bit long in the tooth now, but what the heck.
It is said that soon, today's air crew of two or three will be replaced by one pilot and a dog. The job of the pilot is to feed the dog. The job of the dog is to bite the pilot if they try to touch any of the controls.
-
@raceprouk Thing is, for every pilot like "insane guy who wants to kill himself" there's also a Captain Sully "I can save this plane when nothing else can" flying. The problem is figuring out which pilots are which. They all passed the same simulator scenarios, so those don't work. Much the same problem we have in software development, really...
-
@asdf said in When did Git become terrible? Let's track down the specific commit...:
@jaloopa said in When did Git become terrible? Let's track down the specific commit...:
At this point, if I were interviewing for a job and was told they used Git I would consider it almost a deal breaker
I guess you'll have no choice at some point.
And, as much as we like to bitch about it, once you get past the initial difficulties, memorize the most important commands and learned how it actually works, you might even like it. It's a very powerful tool with a shitty interface.
And a decent frontend for it (e.g. TortoiseGit) greatly helps mitigate the issues.
-
@hungrier said in When did Git become terrible? Let's track down the specific commit...:
git turnleft
git turnleft --go-right
"Oh, I get it! Turn right to go left! That makes perfect sense!"
-- Lightning McQueen
-
@hungrier said in When did Git become terrible? Let's track down the specific commit...:
@djls45 said in When did Git become terrible? Let's track down the specific commit...:
Notepad2
I thought I was the only person who ever heard of it. But then, the only reason I used it in the first place was that it had a window transparency feature that made it great for making ASCII art.
Just yesterday I moved from Notepad2 to Notepad2-mod.
-
-
@asdf said in When did Git become terrible? Let's track down the specific commit...:
And, as much as we like to bitch about it, once you get past the initial difficulties, memorize the most important commands and learned how it actually works, you might even like it. It's a very powerful tool with a shitty interface.
Yeah, my problem is that I don't use it often. Pretty much the only uses I've had with it (aside from some experiments) have been with WTDWTF related stuff. And its workflow is a bit different than svn or hg, so sometimes I forget to do something and have to back up or whatever. Bit of a PITA, but not a huge deal.
I'm sure if I used it daily it wouldn't be a problem. I have to look up svn details when I need to do something out of the ordinary, too.
-
@wharrgarbl said in When did Git become terrible? Let's track down the specific commit...:
One would think it's easy to get my employers (owned by one of the 50 largest corporations in the world) to buy a $40 tool, but it's pretty much impossible.
You know what they say: you don't get rich by throwing money around!
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
(That's the Concorde's. Certainly a powerful plane, but designed before portable computers so hoo-boy that's a hell of a cockpit.)
I thought that was some photoshopped joke before I read that comment.
-
@the_quiet_one Ok let's roll with it.
Subversion:
Old, kind of slow, but one of the most goddamned reliable and well-designed aircraft ever created.
TFS:
A workhorse, kept constantly updated to stay abreast of developments in the field. EDIT: capable of hauling large Windows NT-sized projects
-
@blakeyrat Funny, that's exactly what came to mind with SVN.
Sadly, 747s are starting to be phased out, at least for passenger aircraft. I'd use the 777 for TFS.
-
@wharrgarbl said in When did Git become terrible? Let's track down the specific commit...:
I thought that was some photoshopped joke before I read that comment.
There's a great visual gag in Airplane! where the nervous pilot looks at the control panel and the camera pans over something like 27 feet of constant switches and gauges.
https://www.youtube.com/watch?v=LyUN40weqIk
Ah thanks YouTube.
-
@the_quiet_one said in When did Git become terrible? Let's track down the specific commit...:
I'd use the 777 for TFS.
I thought of that but if CVS is a Wright Flyer, then TFS has got to be pretty old. Also it demonstrates how it's been kept up-to-date over time, since the 747 has been constantly updated. The 777 is still a bit too new for that. You could say the 377 Stratocruiser was SourceSafe. Same basic idea, but implemented less well and with more primitive technology.
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
The advanced history rewriting stuff gets absolutely terrifying. And yes, I've used it for real…
@dkf works for the Ministry of Truth ???
Filed under: GitTeenEightyFour
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
It's like the laziest developer took the worst GUI framework he could find and just started adding one button and/or menu for each Git command, with no planning, rhyme or reason.
Isn't a user interface supposed to closely mimic the underlying functionality?
-
@blakeyrat One piece of shit software I used for two days or so was Dynamsoft SourceAnywhere. It was hard to find a good analogy for this one, but this is probably the closest:
-
SourceTree is fine. I really don't like command line for source control. To me anyway, seeing the commit graph without much effort is part of the point of source control. And easy access to visually see what you're committing is really useful (you shouldn't just blindly commit all detected changes). Plus typing commit comments feels odd on the command line, and having an editor get started to enter them is even odder.
The biggest problem I have with SourceTree is more of a git problem. Git's kind of dumb about auto merging. I have kdiff3 (ugly but effective) setup as the external merge tool with its auto merge flag set so if kdiff can figure it out I don't even see its GUI.
-
@mikehurley said in When did Git become terrible? Let's track down the specific commit...:
SourceTree is fine.
You are incorrect.
-
And this is @dkf doing his git filter-branch
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
@mikehurley said in When did Git become terrible? Let's track down the specific commit...:
SourceTree is fine.
You are incorrect.
GUI-wise I have no problems with it. Branching, pulling, staging, committing, and pushing all work fine for me.
My two biggest complaints about it are:
- The background git processes tend to get in weird states. I think this happens because SourceTree is doing housekeeping with git at the same time I'm trying to do something. Almost always, retrying fixes the problem. Worst case you restart SourceTree. Fortunately that doesn't happen much (maybe once every 2-3 months).
- My previous gripe about merging, which is really a git problem.
I think my favorite source control tool I've used was the TortoiseHg Workbench. At least as it was 5 years ago.
-
@mikehurley said in When did Git become terrible? Let's track down the specific commit...:
GUI-wise I have no problems with it.
You are incorrect.
Even simple UI concepts like "dim menu items that aren't applicable" it utterly fails to do.
How many times have you selected a menu item and it gave you an error saying "you can't do that now." When they were writing the error, didn't they step back and say, "wait a minute... if we have to write this error we must have done something wrong!"? Because we're talking serious incompetence here.
Basically, you're saying "I have incredibly low standards of software quality and frequently gloss-over or don't even notice blatantly obvious bugs".
I'm also shocked you're not pointing out how fucking SLOW it is at everything:
- Push commit
- Wait for stage to update
- Wait
- Wait
- Ok a couple files were removed from the stage list
- Wait
- Wait
- Wait
- Keep waiting
- Ok now you're ready to start staging new files
- Oops you went too fast, wait some more