I suggest you ...

Enable distributed source control (DVCS)

DVCSs are faster on commit, enable multiple central servers, enable an excellent approach for branching, allow for offline work, and usually come with a better merging system. It also enables us to shared code without having to go through TFS, so I could push and pull changes with my colleagues directly.
Please enable us to work decentralized.

Some ideas for later:
I would not worry with integration with Work Items on the first version, and on a later version you can add the integration via caches. Build should be done on push, not on commit.
On a later version you might enable to push from one TFS repository to another directly.

1,509 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Giovanni BassiGiovanni Bassi shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
    Ravi MohanRavi Mohan shared a merged idea: Add native support for GIT  ·   · 
    Visual Studio ALM TeamVisual Studio ALM Team shared a merged idea: Allow the version control system to be pluggable  ·   · 

    49 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Adam DymitrukAdam Dymitruk commented  ·   ·  Flag as inappropriate

        This is very important for MS to get right. They have to get over "we have to get everything right ourselves". Integrate with git at the very least.

      • James McKayJames McKay commented  ·   ·  Flag as inappropriate

        +1 for making the source control element of TFS pluggable. That would be a quick win -- if I could use TFS for work item tracking, builds etc, and Mercurial for source control, I'd be delighted. Modern DVCSs have a lot of very powerful and innovative features in addition to distribution and easy branching/merging -- patch queues, hunk selection, and bisect, to name but a few.

        I’m not sure that evolving the current source control tool in TFS in the distributed direction is the best way to go, however, since the two are based on fundamentally different architectures with completely different capabilities. TFS, like Subversion, is based on a linear history that puts branches into a separate folder within your repository, whereas the Git/Mercurial approach is to put them directly into your project history in a DAG (directed acyclic graph). The DAG is really the “secret sauce” that makes branching and merging so much easier in DVCS: it enables lightweight, anonymous branches, switching in-place to any version of your code on any branch, and easy, intuitive merging that doesn’t suffer from baseless merges. My fear with attempting to evolve from one to the other is that we might end up with something that either misses the point of DVCS entirely, or takes far too long to get there, or results in masses of unnecessary complexity and with it, fragility.

        I personally think that the best approach would be something along the lines of what SourceGear has done, i.e. produce a completely new, distributed tool as an alternative to their centralised one. This would have the added advantage of losing the baggage of twenty years of legacy architectural and design decisions.

      • ScottWeinsteinScottWeinstein commented  ·   ·  Flag as inappropriate

        Rather than try to rebuild a DVCS, perhaps have the version control aspect of TFS be a plugin, this way git, hg, svn could be used

      • Giovanni BassiGiovanni Bassi commented  ·   ·  Flag as inappropriate

        Alfred, it is on the roadmap, but we don't know for when. We should vote to get this up on their priorities.

      • Vinícius Hana ScardazziVinícius Hana Scardazzi commented  ·   ·  Flag as inappropriate

        I second that.

        Only one thing I'd like to mention is that, if integration with work items is a must, then work items could be integrated with pushes, not commits, just like the builds should be. Not sure if it's possible but it might be worth considering.

      • BryanBryan commented  ·   ·  Flag as inappropriate

        I wouldn't pick a DVCS specifically - but allow it to be pluggable - I personally am very comfortable with the TFS VCS, but Git and Hg have large followings and adopting TFS for all of the other goodness would be great without having to change over the Source Control System for an organization

      1 3 Next →

      Feedback and Knowledge Base