News for hackers. Stuff that matters.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by riquito on Sunday May 04, 2014 @07:10PM (#7696212)
During his speech at Google "[after reviewing the alternatives] the end results was I decided I can write something better than anything out there in two weeks. And I was right"

http://www.youtube.com/watch?v=4XpnKHJAok8&feature=youtu.be&...

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Sunday May 04, 2014 @10:42PM (#7696754)
Writing the basics of a DVCS in two weeks isn't a unique feat. Mercurial was created in almost exactly the same way, and was faster than git (and still is, e.g. for blame and clone operations) and actually was conceived with a UI from the beginning.

I'm pretty sure the only reason git took most of the mind share instead of hg was (1) github (2) Linus admiration.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by codemac on Monday May 05, 2014 @12:49AM (#7696974)
Well, you're also missing some reasons:

- git has an 'email' centric workflow

- The index with git (git add -i) awesome for people doing patch maintenance

- the rebase workflow is great when you want to maintain against an upstream that you expect someone other than you to commit your changes to, or you have a "pre-publish" phase.

It's almost like those reasons follow the linux workflow.. almost perfectly.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by Argorak on Monday May 05, 2014 @04:45AM (#7697542)
> - git has an 'email' centric workflow

Which is surprising, given how rough all the email-involving commands of git are. Badly documented (git-send-email man page doesn't even come close to documenting all options properly), awful error reporting and a badly explained (although, in itself, quite sane) workflow when sending the patches.

When setting up my email setup, I consulted the underlying Perl script more than the docs :(.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Monday May 05, 2014 @09:48AM (#7698510)
Sigh, I wish people would actually know about Mercurial. It was created for the exact same reason as git, at the same time, and is also intended for kernel development. In particular,

- Mercurial also has an email-centric workflow, look at its mailing list: http://mercurial.markmail.org/search/?q=#query:+page:1+mid:p...

- The staging area can be achieved in hg in several ways, or it can be avoided as desired. One easy way is to just pick apart your commit with hg (c)record --amend and just keep adding to your commit as necessary.

- Rebasing has also been available in hg forever (and wasn't available in git from the beginning). We also have some really interesting changes brewing for rebasing in Mercurial: https://www.youtube.com/watch?v=4OlDm3akbqg

These ideas in hg were all for following the Linux workflow too.

Nothing against git, but it's important to not deify Linus as if he were a unique genius. He has his flaws, and so does the software that he's responsible for.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by bronson on Monday May 05, 2014 @11:46AM (#7699206)
Mercurial went a long way down the "never modify history!" road (i.e. never rebase). Turns out that attitude, while theoretically pure, isn't very pragmatic. There are lots of valid reasons for rebasing.

Hg eventually came around but, for me, the damage had been done. It's the second biggest reason I went with git.

(The biggest, of course, is you use git if you want to interact with kernel devs. But lots of kernel devs hated git in 2005/2006. Mercurial had a reasonably big window of opportunity... all imo, fwiw)

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Monday May 05, 2014 @10:55AM (#7698871)
I've used both.

Mercurial beat git past the starting gates, but git has the advantage of being used on a very widely used, widely developed, immensely high profile project. While Hg has its own commendable set of projects, git has simply won the mindshare battle.

Could be worse: there's arch and bzr and probably some others.

Hell, even GNU/EFF are looking to ditch their own VCS in favor of git from what I understand.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Monday May 05, 2014 @11:11AM (#7698975)
Yes, that's true git's main advantage is how widespread it is.

GNU Emacs decided to switch from bzr to git, but GNU as a whole doesn't have a recommended VCS yet. In GNU Octave we will keep using hg. I don't think the EFF is too public about which VCS they use.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Monday May 05, 2014 @03:27PM (#7700594)
I meant to type "GNU/FSF". I thought I caught myself and corrected the "EFF" bit. I knew I was going to write that. And damnit, I did.

But yes, I meant "FSF", not "EFF".

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by read on Monday May 05, 2014 @07:19AM (#7697865)
- git has an 'email' centric workflow

That's a good observation. Git seems to assume its distributed issue-tracker is email.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by zurn on Monday May 05, 2014 @02:32AM (#7697175)
Those aren't big things outside Linux.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by throwaway7767 on Monday May 05, 2014 @07:16AM (#7697857)
Email centric workflows are used for lots of projects other than the linux kernel.

My workflow for a lot of the projects I contribute to is something like:

edit -> commit (repeat as necessary) -> rebase -i -> format-patch -> send patchset by email

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by stiff on Monday May 05, 2014 @01:00AM (#7697010)
Every occasion is good to start a flame war, isn't it?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by huhtenberg on Monday May 05, 2014 @02:46AM (#7697217)
(3) C implementation

There's a strong aversion of using tools done in Python outside of Python community. It is irrational, but it being an inherently interpreted language puts it into the same perception bucket as Perl and who'd want to use a control system written in Perl?

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dima55 on Monday May 05, 2014 @02:57AM (#7697243)
Dude, python IS in the same bucket as perl. The list of pros and cons when compared to C is identical.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by huhtenberg on Monday May 05, 2014 @03:17AM (#7697302)
Shhh... don't tell HN.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by annnnd on Monday May 05, 2014 @10:11AM (#7698626)
There is one difference - you need an external tool to properly obfuscate Python source code. :)
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by read on Sunday May 04, 2014 @08:11PM (#7696391)
Something's still not clear about his assumptions in that talk. He says "you just continue to work" and "you could do everything you would do" [if you were connected online]. But this is not true when it comes to integration of source control with issue-tracking.

If you integrate source control with issue-tracking, you start to want source code changes to correspond to issue numbers, and changes to be pushed if an issue is in a certain state or owned by a specific developer. But you can't get this information when you are offline without access to the issue-tracker.

Either there's a case for distributed issue-tracking too, which would give you that information, or issue-tracking being centralized pushes back on source control wanting to be distributed.

I wish this was addressed in Git's assumptions.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by modeless on Sunday May 04, 2014 @09:08PM (#7696544)
Sounds like you want https://www.fossil-scm.org. Distributed version control with integrated wiki and bug tracking, from the creator of SQLite.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by selectnull on Monday May 05, 2014 @12:14AM (#7696908)
Another option is Veracity by Sourcegear. http://veracity-scm.com/
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by hrjet on Monday May 05, 2014 @12:34AM (#7696946)
Their DVCS comparison page is very informative: http://veracity-scm.com/compare/
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by ithkuil on Sunday May 04, 2014 @09:31PM (#7696590)
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by mtdewcmu on Monday May 05, 2014 @05:19AM (#7697626)
I've been mulling over issue tracking lately, since I hate Jira and all the other ones I've used. Wouldn't issues being in states and having owners violate the distributed model? Version control used to have file owners and locks, which is the same thing, and git broke from that.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by reledi on Monday May 05, 2014 @12:26AM (#7696924)
According to his recent save format post [1], he spends a lot of time thinking about something before he starts prototyping.

> So I've been thinking about this for basically months, but the way I work, I actually want to have a good mental picture of what I'm doing before I start prototyping. And while I had a high-level notion of what I wanted, I didn't have enough of a idea of the details to really start coding.

So two weeks seems reasonable to me, especially if he built a prototype first. (Did he?)

1: https://plus.google.com/102150693225130002912/posts/X2XVf9Q7...

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by pags on Sunday May 04, 2014 @10:36PM (#7696745)
Isn't he blurring the line between "commit" meaning creating a state you can roll back to (in all version control systems), and "commit" meaning pushing to the "official" code base in a non-distributed system? In other words, some issues with non-distributed systems that he highlights (having to keep an elite group deemed smart enough to integrate changes, for example) still exist when pushing to a consensus "official" instance of a distributed repo.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Sunday May 04, 2014 @10:47PM (#7696763)
His language is pretty muddled in this talk. It's clear he didn't really spend a lot of time thinking about precise and unambiguous language for all of the things he was talking about. He also seems to conflate "branch" and "clone".

This muddled language later turned into a muddled UI that was supposed to get cleaned up, but never did.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by pags on Sunday May 04, 2014 @10:55PM (#7696778)
I can't help but think that he was conveniently leaving out details that give the entire story - clearly he thinks the audience are unintelligent sheep, so surely they'll take him at his word, right?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by kdd44 on Monday May 05, 2014 @08:21AM (#7698091)
In what way does git conflate "branch" and "clone"?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by richardwhiuk on Monday May 05, 2014 @03:35AM (#7697364)
Probably because those two actions are identical in CVS, SVN etc, which most people at the talk were familiar with, unlike the commit and push states in a DVCS (hg, git, bzr etc).
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by zenbowman on Sunday May 04, 2014 @09:35PM (#7696602)
Yeah, that was a great talk. I highly recommend people watch it.

He was definitely right about that, what I like about Linus is he really does seem to prefer to do things in as concrete and simple a way as possible instead of getting mired in abstractions.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jonalmeida on Sunday May 04, 2014 @11:04PM (#7696793)
He mentions that git wasn't half as good if it wasn't for the help he got after his initial creation that made it cleaner and better.