Re:SourceTree for Windows beta
by MatthewPhillips on Sunday February 17, 2013 @02:00PM
(#5236231)
Before git (and DVCS in general) every company had a source control manager. You could get a degree (and presumably still can) in revision control theory. This was necessary then because a developer couldn't completely grock it and get real development done at the same time. Today I don't know if any git shops that have a full-time source control manager.
So, if the worst thing about this generation of source control systems is an unflattering UI... I think we have awhile until the next generation takes over.
The UI is an important problem, but also the needless complexity and leaky abstractions. This isn't limited to version control either, but is pervasive in all programming tools (IDEs/editors, build systems, programming languages, platforms, etc.)
This is caused by extreme conservatism and dogma.
"GUIs are for noobs, CLI is better"
"Everything should be text like the Unix gods intended" (code in particular)
"Keyboard is faster than mouse"
"Autocomplete? That just causes you not to learn anything"
"Who needs semantic code navigation when you have grep?"
"WYSIWYG? Use markdown or latex."
"What's wrong with the web? This canvas API is so cool."
etc.
Wait.. we have a senior source control manager and we are using TFS. Sometimes clicking through the gui based wizards to merge two branches is to difficult for C# devs these days. His expertise in right clicking is truly remarkable. I fear for the day we move to distributed source control.
> But I live in the 2010s. I want a source control system that does its job and gets out of my way.
Darcs was fun, although the exponential conflict issue was a bitch (and still not resolved as far as I know)
1970s: CVS
1980s: Subversion
1990s: Git (shifting Git to the 1990s even aligns it with the batch of distributed OS research from that era).
This is especially reductive and somewhat mean-spirited, but my point is that using Git gives me the feeling of using other types of applications from the 1990s. Source control remains stuck in an era where computer programs appeared to be designed in part to appeal to the curiosity of developers who take pride in mastering complex systems, not for being eminently usable.
When I say Git "feels 1990s" a retort is that I am a Git hater and should just use Perforce or some other crummy commercial product. That misses the point. It just feels like a tool from the 1990s, which to be clear, feels a heck of a lot better than a tool from the 1980s. But I live in the 2010s. I want a source control system that does its job and gets out of my way. Again, to be reductive and mean, just like build tools, source control systems are a time-sink that captivate the attention of people who enjoy fussing with tools. It's not that I don't like Git versus its real-world contemporaries, but I want Git + 20 years.