back to article Microsoft dev tools to add Linux-style source code versioning

Microsoft's developer tools division has taken another step closer to the open source community, with the announcement that both Team Foundation Server and Visual Studio will soon incorporate support for decentralized source code version control using Git. Microsoft Technical Fellow Brian Harry announced the new tools at the …

COMMENTS

This topic is closed for new posts.
  1. Yet Another Anonymous coward Silver badge

    Meh - i have tortoiseSVN

    The way TFS is integrated into VS is a pain, you need to fire up the whole environment to check a file and the 5min freeze when it can't contact the great TFS server in the cloud

    The lock/checkout/write protect model of TFS is completely broken, especially when it doesn't auto checkout some config files and you find yourself changing settings in some property box and have them quietly forgotton when you close it.

    1. Ten Pin Tess

      Re: Meh - i have tortoiseSVN

      TFS shell integration - http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f.

  2. W. Anderson

    Microsoft using Git!

    I do hope Microsoft will abide by the Free/Open Source Software (FOSS) license of Git and not abuse the terms and conditions of use as they so often have done in the past, like with Java.

    The Free Software Foundation [FSF] needs to closely monitor every aspect of Git's use and development entension by the Redmond giant to help prevent (almost) inevitable illegal and un-approved use of the DVCS.

    The company has never proven to be trust worthy.

    1. DrXym

      Re: Microsoft using Git!

      That's self evident and rather paranoid since MS have been pretty good about their open source use for quite some time. If they use git they're probably either going to:

      a) Put a wrapper around git.exe, just like TortoiseGit does at the moment. i.e. user clicks buttons, menus and things, Tortoise invokes git and then presents the result in a nice dialog.

      b) Do what EGit / JGit does. i.e. create an independent implementation of git which uses the same file formats and protocols, possibly written in .NET or similar which doesn't actually share source with git.

      Of the two I'd say a) is probably easiest. EGit / JGit are fairly mature and yet they can still be quite flakey too sometimes.

      1. The BigYin

        Re: Microsoft using Git!

        "MS have been pretty good about their open source use for quite some time."

        Ah, no. They were caught violating the GPL with their hypervisor code. It was only the threat of legal action that got them to behave.

        They have attacked LiMux with their half-released, headline-grabbing-but-no-one-is-allowed-to-read-it-fully report from "independent" HP. (What has been released is such a crock that it would be hilarious if the headlines hadn't already done damage)

        Embrace, Extend, Extinguish. MS should never be trusted and I think the call to have the FSF monitor them closely is the correct one.

        1. Mark .

          Re: Microsoft using Git!

          Yet mention "Desperately trying to destroy the most successful Open Source product with software patents" Apple, and half the commenters on here will be praising how wonderful Apple are...

      2. Fynbarr

        Re: Microsoft using Git!

        According to Scott Hanselman, MS have been contributing to the LibGit2 project.

        http://www.hanselman.com/blog/GitSupportForVisualStudioGitTFSAndVSPutIntoContext.aspx

    2. Fatman

      Re: The company has never proven to be trust worthy.

      No shit!!!!!

      I trust them as far as I could throw Ballmer.

  3. James 47

    VS2012

    As far as I can tell, VS2012 is Windows 8 only. Meh.

    1. Yet Another Anonymous coward Silver badge

      Re: VS2012

      Excellent - I look forward to a crowd of hip and trendy young attractive devs all working in c++ while rollerblading and playing ultimate frisbee.

      Is it just me or do the Windows8 ads all look like a tampon commercial ?

      1. Jean-Luc
        Thumb Up

        Re: VS2012

        >Is it just me or do the Windows8 ads all look like a tampon commercial ?

        :-) :-) :-)

        Win 8 commercial in Canadian theatres, featuring an attractive (male) narrator:

        "I live in a space between appearance and reality..."

        Style, not substance, is very much the message.

        Cynicism aside, very good news that MS is supporting Git and starting to be slightly less insular. Let's hope they play fair.

        1. Frankee Llonnygog

          Re: VS2012

          "I live in a space between appearance and reality..."

          Hoxton?

      2. Mark 65
        Joke

        Re: VS2012

        "Is it just me or do the Windows8 ads all look like a tampon commercial ?"

        You'd have to be a c*nt to use it.

    2. Anonymous Coward
      Anonymous Coward

      Re: VS2012

      The trial version works quite happily under Windows 7.

    3. Tom 7

      Re: VS2012

      Well MS wouldn't want you getting free code for free now would they?

    4. Fynbarr

      Re: VS2012

      I think you'll find that VS2012 works fine on Windows 7 - I should know, I've done it.

  4. Anonymous Coward
    Windows

    Cognitive Dissonance Alert (CDA)...

    "Git hasn't been as friendly for Windows developers as on other platforms. By building on Git, we can take all the time we might spend just 'catching up' and spend that effort on something where we can add more distinctive value. Choosing Git just made sense"

    I would have thought that a Git repository would be OS agnostic, but how exactly has Git been unfriendly for Windows developers?

    1. Jean-Luc
      Boffin

      Re: Cognitive Dissonance Alert (CDA)...

      >but how exactly has Git been unfriendly for Windows developers?

      Isn't a huge part of Git's underpinnings based on symlinks? I know symlinks didn't exist till Windows 7(Vista?), but even then I am not sure how well they work on Windows 7. Not exactly a high profile feature in it, nowhere like on a 'nix/bsd system and I haven't seen anyone use them.

      Has anybody used win7 symbolic links in anger? Good stuff?

      1. Anonymous Coward
        Anonymous Coward

        Re: Cognitive Dissonance Alert (CDA)...

        @Jean-Luc - Yes, I use links in NTFS all the time, be they symbolic or otherwise. It's useful for many things - such as linking files in a V1 and a V2 profile, so that you can logon to both XP / Post vista workstations and have the same files appear.

        I use directory links so that a Windows desktop directory in an roaming profile can be logged on to a Mac OS and Windows and the same desktop files appear.

        I believe that filesystem links be they symbolic or hardlinks etc, have been in Windows since NT4 (with POSIX installed) and 2000 natively. But this is just off the top of my head.

      2. pdxbrit
        Go

        Re: Cognitive Dissonance Alert (CDA)...

        Symlinks work fine in the version of NTFS shipped with Vista too, so yes, Vista,. The problem is that Microsoft have utterly failed to integrate junction points in any usable way. There are third-party tools to manipulate them, and there's the command-line mklink command, at least on W7, but AFAICT, nothing in explorer that would let a non-geek manipulate them in any sane way, at least with what ships with the OS. So yes, absolutely "not exactly a high profile feature".

        Junction points work fine, and can be very useful if you e.g. have a relatively small SSD boot drive and larger spinning disk. You can relocate whatever you like via directory junctions/links (a la symlinks), but it's not simple or obvious for the average user :-(

    2. Kubla Cant

      Re: Cognitive Dissonance Alert (CDA)...

      but how exactly has Git been unfriendly for Windows developers?

      The GIT I'm currently using on Windows is accessed via the command line in a Bash shell. There's a GIT GUI but it seems a bit crap. I don't know if that's this installation or if it's always that way.

      This isn't a big deal, and it's useful to have the extra power of a decent command shell. All the source control systems I've used have sooner or later run out of GUI steam and forced you to use the command line, including even the abominable Visual SourceSafe.

      Still, I can see it being an annoyance. For many developers a new source control system is just another ancillary thing to be mastered, often at a time when you're scrabbling to get up to speed with a new corpus of software while trying to remember the names of the 50 people you were introduced to on day one and the weird network paths to various essential resources. Having to do it on the command line is just a bit more work.

    3. DrXym

      Re: Cognitive Dissonance Alert (CDA)...

      Git relies on a lot of Unix commands to do some of its peripheral functionality - grep, perl, bash etc. The msysgit distribution for Windows is essentially all these Unix tools compiled against the MSYS / MingW compatibility APIs. Generally it works, but it would probably run into issues with unicode file names, long paths and such like.

      Git also makes a bit of a hash of line ending conversion. It has various settings to preserve / convert line endings but in my experience it can completely bollox it up - e.g. it's possible with multiple users who have different line ending settings to confuse git into thinking files have been modified when they have not. The project owner has to craft a .gitattributes file to take this crlf conversion stuff out of user's hands.

      Another prominent issue is if you have an NTLM authenticating proxy is that Git will not talk through it. You have to point Git at a shim proxy like ntlmaps which does the authentication for you but looks like a standard httpproxy from the git side.

      Eclipse has a plugin called EGit which is a pure Java implementation of Git which may not suffer some of these issues (e.g. it uses IE's proxy settings and works properly through NTLM) but it adds its own since it's not a full implementation of git. I've seen the plugin throw exceptions and cryptic errors when it can't pull, push or merge for some reason.

      1. Vic

        Re: Cognitive Dissonance Alert (CDA)...

        it's possible with multiple users who have different line ending settings to confuse git into thinking files have been modified when they have not.

        That's not confusion - if you've changed the line endings, you *have* changed the file.

        It makes sense to give an option to ignore such changes - as git does - but it would certainly be a mistake to enable it by default.

        Vic.

  5. W. Anderson

    explanation for commenter "dgharmon"

    To: dgharmon

    Very easy to answer your question. Windows developers have traditionally be lost without 10 years of age cild's understanding of a point 'n click GUI application prompting in their development processes.

    Even efforts by Microsoft to introduce "superterminal " which according to Microsoft "expert" associates is a terminal whereby one can execute pre-configured batch file processes instead of using a brain-dead GUI, which was unsuccessful.

    How in the world then will these Windows developers content with Git?

    1. Anonymous Coward
      Anonymous Coward

      Re: explanation for commenter "dgharmon"

      er... thanks.

      Now could somebody explain the "explanation"?

      1. Destroy All Monsters Silver badge
        Holmes

        Re: explanation for commenter "dgharmon"

        You have a problem deploying a package archive to the staging server.

        1) Ask the developer chilling in front of the Windows GUI

        "Sure, I hit "build all - package". Then I fire up Putty to transfer the whole copy manually which can be found down in this directory. Depending on the target server, I have to choose different subdirectories though. The password is copy-pasted from this file. It takes about half an hour for the upload. Can't we use a Maven plugin for Eclipse to do all of that?"

        2) Ask the developer chilling in front of the KDE GUI

        "Sure, I hit "build all - package". I fire up this little Perl script I finagled earlier and pass the target server on the command line. It automatically selects the correct files and rsyncs the whole package to the server in about 10 seconds. Authentication? SSH keys, of course. Plugins? Sod that, I have enough problems as it is"

        1. Anonymous Coward
          Anonymous Coward

          Re: explanation for commenter "dgharmon"

          @Destroy all monsters: Assuming the Windows guy doesn't know how to script and the KDE/Linux guy does.

          It can be the other way round, everything you describe from a file transfer point at least, I have scripted on Windows to transfer to Linux/UNIX.

          1. Destroy All Monsters Silver badge
            Pint

            Re: explanation for commenter "dgharmon"

            > It can be the other way round

            Of course, but there is some of the "where there is smoke, there is fire" in there. Same as when you see a physics paper written in Word instead of TeX ... not a good sign.

          2. Anonymous Coward
            Anonymous Coward

            Re: explanation for commenter "dgharmon"

            Assuming the Windows guy doesn't know how to script and the KDE/Linux guy does.

            It's a pretty safe assumption though. A *nix developer has to know the shell otherwise he won't be able to do much (IDE, what's that? Isn't it a synonym for Vim/Emacs? -- strike the one you hate). On the other hand, on Windows one has to really go out of his way to use a CLI, if only because the original CLI (command.com/cmd.exe) is such a PITA that all IDEs are designed so that you don't need it for most tasks.

        2. dogged
          WTF?

          Re: explanation for commenter "dgharmon"

          I'd fire Case1 and get somebody who can write a Build script (for desktop/server programs) or press the "Publish" button and fill in a form for web apps.

  6. Anonymous Coward
    Devil

    embrace..

    ... and extend.

  7. JDX Gold badge

    You can already get excellent addons for SVN-VS integration which cost money. I suppose git ones may exist too... so sucks for those companies but means MS have to make something as good.

  8. Canecutter
    Windows

    Hrrmph!

    ""This is not about lock in – It's about providing a good and interoperable Git capability," Harry wrote."

    Will believe it when I see it.

    Embrace...............................Embraced

    Extend ................................Pending

    Extinguish............................Pending

  9. W. Anderson

    Microsoft & Linux - some facts

    The commenter "dogged" probably deserved the "Fail" label with statement about Microsoft being contributor to Linux "as if an altruistic gesture". In regard the Linux kernel, and with RedHat KVM virtualization, Microsoft contributed "only" the code that will allow Linux applications and VMs to run in a Microsoft V-sphere Cloud with their virtualization. They have never, repeat never contributed anything to any Free/Open Source Software (FOSS) project that was not to the advantage of Microsoft only, and "to hell" with the other users of FOSS.

    Even in their contributions to Blender graphics/animation software and the Apache HTTP projects, Microsoft's "contributions were for these applications working better on Windows only, and not at all for the "general" improvements of the software that benefit all user, especially for UNIX/Linux users.

    How draconian and utterly selfish is this of Microsoft , since the company is benefiting from the very hard work of possibly hundreds of developers offering their efforts "without" costs to the projects over many years.

    A final example, Microsoft had been, and probably still is using the FreeBSD ip4 and ip6 TCP/IP and OpenBSD Open SSH protocol stacks, without which they would not have any "functioning" network stack at all. Have they contributed "anything" back to FreeBSD or OpenBSD - No!, Nada!. Zilch! Parasites!

    The ignorant and stupid people who support Microsoft under any and all circumstances, no matter how illegal, unethical or draconian their actions need their heads examined.

  10. Mark .

    It's evil of MS, because they don't selflessly contribute to competing platforms?

    "since the company is benefiting from the very hard work of possibly hundreds of developers"

    Sorry, one of the fundamental points of Free and Open Source is that people are free to use it. There are of course those who believe that you should give something back - that's what copyleft licences are for, like the GPL. But if you release under something like BSD, you're saying that you want people to have the freedom to use it *and not give something back*.

    Personally this is why I usually release under the GPL. But then you get BSD advocates claiming that the BSD is better because it's "more free" - then they whine and complain when people actually make use of that extra freedom(!) I've seen exactly the same nonsense even when BSD code was included in GPL code - apparently that was selfish too, because the GPL people should have released under BSD.

    It's ignorant and stupid to support a company because they don't support Linux? Sorry, no. I like Linux too, but I'm not expecting companies to selflessly support their competition, nor do I care when companies make use of software, that was released under a licence for that very purpose.

    They're not the ones trying to destroy Open Source platforms with software patents.

    1. Anonymous Coward
      Anonymous Coward

      So basically what you're saying is that just because an author chose a licence that legally allows you to be an arse, then it's morally acceptable to be an arse?

      Granted, MS has a legal right to plunder BSD code without giving anything in return, but that doesn't make it the right thing to do.

      1. Vic

        So basically what you're saying is that just because an author chose a licence that legally allows you to be an arse, then it's morally acceptable to be an arse?

        I would say that - except in this situation, no-one *is* being an arse.

        MS has a legal right to plunder BSD code without giving anything in return, but that doesn't make it the right thing to do

        Yes it is. This is the "freedom" that BSD advocates tell us is missing from the GPL. I'd like it to remain missing from the GPL for exactly this reason.

        Vic.

    2. Vic

      There are of course those who believe that you should give something back - that's what copyleft licences are for, like the GPL

      No - copyleft licences do no such thing.

      A copyleft licence merely requires that, should you redistribute the code or a derivative of it, you give your downstream users the same rights to source that you got.

      If you want to use copylefted code for your own purposes without giving anything back - off you go. That's perfectly permissible as long as you don't redistribute anything.

      Vic.

This topic is closed for new posts.