Cross IDE development with TFS 2012 - xcode

I'm working in a project that is structured in this way:
Backend (Web Services): C# using Visual Studio 2012 (Windows)
Android client: Android Studio/IntelliJ (Windows)
iOS client: XCode (MacOSX)
The project version control is under TFS 2012, also the management with the Scrum template.
I will be using the tfs command line for the TFS commands in the Android and iOS development.
So my questions are:
How to structure my folder tree?
Which are the best practices to follow in this kind of project mix?
Some of you can suggest a better approach?
Thanks

Upgrading to TFS 2013 allows you to leverage Git, which is supported by all of the IDE's you're using. If upgrading is not an option and since you're already comfortable with the commandline, then you could also consider git tf to create a local git repo to connect you IDE's to and the commandline to push that to TFS.
As for structure, that's a wasps nest and will attract a lot of opinions and discussion. You have multiple options and there are a lot of dependencies. Are you expecting to release all three components at the same time? Or do you want to be able to push out updates for each component separately? In the first case, one big Branch structure fits best, for the other a single branch root for each component.
For TFVC branching guidance look to the Visual Studio ALM Rangers' Branching Guide.

Related

How can I rollback to earlier versions of a Visual Studio project while developing locally?

In the process of building an ASP.NET Core MVC rc1 application with SQL databases, c#, bootstrap, angular, css, javascript, javascript dependencies, package managers like bower, or any visual studio project for that matter, I sometimes break the application and would like to roll it back to a previous state when the application was working.
What are some techniques/the best way to create incremental versions, save and flag working versions, and rollback to earlier versions especially when a project has so many moving parts, technologies, and dependencies?
I would prefer a technique that exists inside Visual Studio, or the most standard/popular Microsoft or open source technique or tool that may be free.
I also would like the option to do the backups on my local machine rather than on an external server.
If anyone else has this question: I found Git to be a great way to achieve this purpose. Unlike many version control systems, it keeps the change repository on the local machine and only places it on a server when the project is merged. As of 2015, it integrates well with Visual Studio and TFS. Here is a video from the Build conference explaining its integration with VS2015:
Channel 9 - using git in visual studio
https://channel9.msdn.com/Events/Build/2015/3-746

Share source between VisualStudio.com TFS & Codeplex TFS

I am wanting to use VisualStudio.com to link work-items and user stories to source control check-ins for a current project of mine that is hosted on Codeplex.
The project is an open source project and has been hosted on Codeplex for several years. Now that I am doing a re-write, I am wanting to use an Agile process, creating user stories and building it in sprints, while I develop the app. The issue is that Codeplex's hosted TFS does not support this, while Visual Studio online does.
Visual Studio online is geared more towards closed-source projects with team members. It's offered for free, so I'm a bit bummed that they didn't open it up to support Open Source projects. Is there a way for me to have Visual Studio online host my source, and when I am ready to distribute a build, merge my branch in to Codeplex? I assume something along these lines is possible as the Prism team seems to do this with their releases. Since I don't have control over either TFS though, I'm not sure if external parties can do this or not.
If you use git on both projects (you can ask the Codeplex team to convert your project for you) then you can simply set up your git repo with two remotes.
Do you work locally and push to the main VSO git repo whenever you wish. When you've made enough changes that you want to push to Codeplex, just do a separate push to that remote and it'll be good to go.
If you're using TFVC on both then you're out of luck, unless you want to mess with the TFS Integration Platform (which I wouldn't recommend)

How to code c++ project online in one project [management]

I'm beginner in C++ programming using visual studio c++. I like to have access to my project codes instantly while programming, something like a project manager. How is this possible in Visual Studio C++ ? I have found Team Foundation Server but I have not clue what it is.
TFS is a centralized version control system as opposed to Git, for example, which is a distributed version control system.
If you're already acquainted with Git and not with TFS (which I find to be fairly common),VS2013 has a built-in Git provider (a really nice one in my opinion). For VS2012 you'll need to install one separately, it's a package.

visual studio solution organization

I'm trying to get my head around how to best organize my companies code set in visual studio 2013 TFS-git. We have multiple database projects and multiple web application projects. I like the idea of being able to develop a web app and the db at the same time in a particular solution but its not a one to one scenario. Multiple web apps talk to the same databases.
I know you can break things up into solutions and projects but not seeing too much out there in best practices in this area.
Any guidance? Thanks for your help.
I think this will help you what you are trying to do
Git init VS full Git support into all their ALM products. Here they have published for Visual Studio that adds Git source control integration. Git Extension includes add-ins for Older Visual Studio versions and Windows Explorer integration. It's regularly updated. And alternatively you can look for Git Source Control Provider
And you may also a read about TFS-GIT here

How to work simultaneously with 2-3 users on the same project?

I have a team of 3 developers and I want that we should be able to work on the project from our own homes, at any time (or at the same time) and make changes to the project. Till now, we have to mail each other all the updates versions to keep in sync. We are developing the project in Visual Studio 2010 currently and use SQL Express 2008. I searched internet and got some idea about Team Foundation Server but it requires Windows Server. I don't want to get into this mess and I have a Win7 Pc. Please suggest me some easy solutions.
There are any number of low-cost (often free to open source projects) hosted source control providers out there.
Personally I use Subversion along with the AnkhSVN plugin for Visual Studio.
Mercurial and Git are also quite popular and supported within Visual Studio via plugins.
Any of those options can be setup in a few minutes (if you use a hosted solution) and will all work for a small team.
Version Control is what your looking for,and your right there are some complicated solutions out there. TortoiseSVN isn't too complicated but works well.

Resources