Slashdot Mirror


Microsoft Embraces Git For Development Tools

alphadogg writes "Once vehemently opposed to open-source software, Microsoft has warmed to the development model over the years and will now take the unusual step of incorporating an open-source program developed by Linus Torvalds into its own development tools. Microsoft is integrating the widely used Git, a distributed revision control and source code management system, into its Visual Studio IDE and Team Foundation Server, two of the company's main tools for enterprise developers."

30 of 227 comments (clear)

  1. 1st step. by Kenja · · Score: 2, Insightful

    Step 1: Embrace. Step 2: Extend. Step 3: Replace. Step 4: Discontinue.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    1. Re:1st step. by smittyoneeach · · Score: 2

      The GPL and the Git community are going to break Mr. Softy somewhere around step #2.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    2. Re:1st step. by Anonymous Coward · · Score: 5, Informative

      VSS != TFS. Might be time to catch up with 5 years ago. And yes TFS can scale.

    3. Re:1st step. by fisted · · Score: 2

      5. Fork.

    4. Re:1st step. by grcumb · · Score: 4, Funny

      The GPL and the Git community are going to break Mr. Softy somewhere around step #2.

      Yep. First it's Git, then it's Microsoft GCC, then there's the Apache Solution Server and before too long they're selling Aladdin - The Microsoft LAMP Solution.

      "New LAMPs for old! New LAMPs for old!"

      ducks, runs....

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    5. Re:1st step. by gargleblast · · Score: 3, Funny

      And yes TFS can scale.

      And at US$499 per user Cal, so can its price.

    6. Re:1st step. by cheesybagel · · Score: 3, Interesting

      Considering Microsoft themselves prefer to use Perforce for Windows development I would venture to guess that TFS doesn't scale all that well in reality.

    7. Re:1st step. by GigaplexNZ · · Score: 3, Insightful

      There's nothing stopping Microsoft from modifying their copy of libgit2 as long as they release the source according to the modified GPL license it is covered by. In fact, Microsoft already have upstreamed some modifications.

    8. Re:1st step. by OhANameWhatName · · Score: 4, Funny

      Slashdot.org readers hate microsoft no matter what. Its sad really how willfully ignorant zealots can be.

      That's because Slashdot.org readers have the sad tendency to generalise everything

    9. Re:1st step. by mcrbids · · Score: 4, Interesting

      What makes no sense to me is why they'd use *Git* which is almost hostile towards the Windows platform, and not embrace Mercurial which has always been friendly to Windows users, offers capabilities similar to Git, and is designed more for ease of use and data integrity.

      Git is all fine and well, but any VCS that includes both "history rebasing" and "garbage collection" as part of its commit history management, in my opinion, violates the very point of a VCS - to keep track of what was done by who, when. I'll pass, thanks, even if I do have a ton of respect for Linus.

      So, Microsoft, why Git?

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    10. Re:1st step. by slimjim8094 · · Score: 5, Insightful

      Why do you think garbage collection is related to "keeping track of what was done by who, when"? All it does is clean up files that are no longer part of the commit tree; that is, unreachable and "garbage". A way to create such a file is to 'git add' a file (which puts that specific version in the repo, for later commit) and then make another change. Since it's a different file than it was, you have to re-'git add' it, which creates an entirely new object that is referenced by the eventual commit. Hence, the dangling useless object is garbage and should be cleaned up.

      People have been complaining about rebasing for a long time, and there's some valid criticism of it, but given the above I'm not convinced your problems with it are properly understood.

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    11. Re:1st step. by phantomfive · · Score: 3, Insightful

      I think it's an indication that git has won the popularity contest over mercurial, for better or worse.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:1st step. by Anonymous Coward · · Score: 2, Insightful

      They garbage collection has nothing to do with git as a version control system, it's basically an implementation detail that helps with performance.

      And history rebasing is frankly extremely useful, and only ever used on work that no one else seen (unless you're crazy and want people to hate you). You are only ever going to rebase to clean up stuff in your own repository, so all it does is encourage you to commit more often since it doesn't need to be perfect and organized with pretty commit messages all ready for public consumption. You've gained negative from a VCS point of view if all you've done is discourage Bob from committing early and often just so you can know the exact steps taken by Bob when Bob was working in Bob's repository.

    13. Re:1st step. by subreality · · Score: 2

      In my opinion git provides better history guarantees than most other VCSes. Everything in a branch's history is completely set in stone by the sha1 sum of that commit. You can rebase your own local work, but once it's pushed to somewhere other people will see your changes, they're nearly permanent - pushing a rebase forces everyone else to rebase onto your new tree; it is not done lightly, and it is not the kind of thing that results in the history of who did what when getting lost without being noticed.

      Compare that to Perforce - you can 'p4 obliterate' a file, and its whole history is gone without a trace. Same deal with svn - they don't give you sharp tools, but you can still dump the repo, edit the dump to make some changes, and load it back up. The history disappears completely.

      Rebase makes it easier to DO these things, but the sha1 sums guarantee that you can't change history without being noticed. That's a stronger guarantee than most of the centralized systems.

      (Note that Mercurial sha1 tracking as well and thus has similar history guarantees; my comments on history integrity aren't a criticism of hg.)

    14. Re:1st step. by BlackPignouf · · Score: 4, Informative

      Also :
      git reflog

      If you need "to keep track of what was done by who", you can, even after a wild rebase.

  2. Re:MS Really Embracing OSS? by davydagger · · Score: 2

    can't beat 'em, join 'em

    said the same thing aboue apple with OS X

    except MS's terms are ironicly far more reasonable

  3. Re:Don't they use Perforce internally? by VortexCortex · · Score: 2

    (yes, yes not everyone needs DVCS).

    Those... words. They stick like bullshit to my mind's shoe.
    Everyone who doesn't need DVCS can simply use DVCS as centralized or local source control.

  4. Re:Don't they use Perforce internally? by the+eric+conspiracy · · Score: 2

    Yes. Why don't they fix submodules? Everyone has some workaround to submodules. But nobody actually fixes it.

  5. Ha Ha by the+eric+conspiracy · · Score: 4, Funny

    My boss is going to turn purple. He hates git & anything devised by Torvalds.

    1. Re:Ha Ha by symbolset · · Score: 2, Funny

      Is he a tall sweaty bald guy with excess enthusiasm? You would think they had told him already.

      --
      Help stamp out iliturcy.
    2. Re:Ha Ha by Intellectual+Elitist · · Score: 3

      Same thing here. Our project has been using git for years, much to the chagrin of the least common denominator middle managers in our department. They've been pushing hard to get rid of useful work tools with "funny names" under the guise of a common tools initiative that was always in the bag for Microsoft. This will really stick in their craw. I love it.

    3. Re:Ha Ha by degeneratemonkey · · Score: 2
      I agree completely - it's not intuitive. But once you have the "Aha!" moment and everything makes sense, you realize that it's not only brilliant, but also really difficult to explain to someone else who doesn't get it yet. As someone once infamously tweeted (it's a joke):

      Git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space.

      But really, think in graphs.

  6. GPL Breaks this process. by anwyn · · Score: 5, Insightful
    The GPL restricts the "Extend" step so that Discontinue step is impossible.

    Any derived work of something, like git, which is GPLed, must be GPLed. That means that if you fork, the main branch, the main branch is free to use your extensions. This makes it difficult for replacement to work.

    Furthermore, if you try discontinue step, others are free to fork and continue. So discontinue does not work.

    The GPL completely breaks the "Embrace. Step 2: Extend. Step 3: Replace. Step 4: Discontinue." process. Which is why it is hated.

  7. Re:MS Really Embracing OSS? by benjymouse · · Score: 3, Interesting

    They did the smartest thing they could have done, which was to put an Apple-style interface on a free, high quality implementation of an operating system that was more than powerful enough to hang with the industry leaders, well understood by geeks, and which contained, essentially, the reference implementation of the protocols that the internet runs on.

    Were you around in 2001? I don't think "high quality" is a term anyone would use to describe those first versions of OS X. It was slow, user interface sluggish, riddled with kernel panics. Apple actually had to offer a free upgrade to 10.1 - which was still slow and sluggish but somewhat more stable. OS X eventually grew into a high quality OS, but those first versions were certainly not. Until Tiger it was kind of a joke, really.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  8. Re:MS Really Embracing OSS? by styrotech · · Score: 2

    MS is now feeling threatened by the way other large companies (eg Apple, Google etc) are now 'cooler' and can now influence the software development ecosystem via their mobile platforms.

    Open Source no longer really seems as much of a threat to them, and there's no point fighting it any more. And with Apple and Google increasingly becoming less open and losing some respect with the open source community, MS probably feels that they need all the help they can get to help keep them relevant or influential outside enterprise IT.

  9. Re:Hardly 'embracing' by DrXym · · Score: 2

    I think the best thing about a decentralized model is the guys who run release engineering can run their own clone and pull when it suits them. And developers can work on branches, merge locally and test everything correctly to their own satisfaction before pushing. When everything is centralized it is not uncommon to see some email telling people a particular branch is locked for a merge, or for a build and it can go on for hours or days.

  10. Re:A younger generation at Microsoft by serviscope_minor · · Score: 2

    Is a younger generation of developers influencing Microsoft?

    I know a few Microsofties from my generation and older, and it's been a while since I've been a student. They've been using git on the sly for a while. Microsoft has a strong dogfood policy, but their VCS dogfood is really really awful.

    --
    SJW n. One who posts facts.
  11. Sometimes hard. Fiance wouldn't let me git init by raymorris · · Score: 3, Funny

    git init How hard is that?

    Sometimes pretty difficult. My fiance told me there was no way I was going to git init.

    1. Re:Sometimes hard. Fiance wouldn't let me git init by foniksonik · · Score: 4, Funny

      Especially not --bare

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
  12. Re:MS Really Embracing OSS? by samkass · · Score: 4, Informative

    You're kind of ignoring the elephant in the room, which is that Apple didn't write MacOS X from the ground up. Most of it is NeXT with a different GUI, and which in the beginning had an integrated old-school Mac API grafted on ("Carbon", which has mostly been deprecated in favor of the NeXT's traditional API). NeXT chose BSD because it was done by Avie Tenavian, whose CMU work on the Mach kernel (which used BSD) became the core of NeXT's OS. They chose BSD because Linux didn't exist yet and everything else was locked down pretty tightly. So you're talking about an OS with roots in the mid to late 80's and decisions inherited from that time. It's probably on a short list for being among the longest-surviving continuously maintained OS in common usage today, predating NT, Linux, Solaris, and many others.

    --
    E pluribus unum