Showing posts with label Branching. Show all posts
Showing posts with label Branching. Show all posts

Sunday, November 2, 2014

Tfs Branch Tool for Visual Studio 2013

This week I published a beta 1 of the TFS Branch tool for VS 2013. The reason for shipping a Beta 1 is mainly to get a version supporting VS 2013 out there, as more and more request and ask for it comes in. The reason ¬for calling it Beta 1 is that it contains a couple of new features, witch I want feedback on, and they haven’t had time to go through the amount of testing I want before releasing it as a final version

What’s new
Apart from supporting VS 2013, the following news is introduced.
  • Improved distribution / support for customizations
    The tool now automatically load branch plans from source control.
  • Dynamic menus – Go direct to the operation you want
    You can now select the desired operation directly in the menu instead of selecting the form
  • New action for Copy File or FileStructure
    You can now modify the branch plan to add files or a part of a file structure to source control.
I’ll go through the different news in more details below. But first I want to share my thoughts on the why some of this features is introduced and the direction for the tool I have in mind.
 
The future branch tool
My goal with the branch tool is that it should add value to team by helping them automate some of the manual processes we have with branch and merge to day. The first step is enable team to easily customize the branch plans.
Once that is done, we need to provide a way to let the tool understand and adopt to the teams context. If the tool could know witch branch is the current dev and main branches, the tool could present Operations like Forward and Reverse integration and prepopulate the needed parameters accordingly.

Another direction is to be able to automate the whole flow. Then a team decide to release a build, it could simply select a New Release operation, Select witch of the main branch builds to release., provide some parameters and let the tool Find the build, lock it, branch the main code for that build to a release branch, set security on it and generate the release notes from the previous release.

In short there is a lot that could be accomplished, it’s just the small issue of taking it from a vision or idea into a working solution. Meanwhile you can read below on that’s been delivered in this release.

Improved distribution / support for customizations
Although the capability to modify or customize the branching strategies was a key architectural concern, one of the epics that didn’t make it into the ALM ranger project and first version of the Community Tool was the capability to easily distribute the customizations made. This made it hard to actually do a customization in the real world. This problem is hopefully now solved!

The new version of the tool automatically check in source control for any customizations made and loads them with higher priority than the default templates. To add and distribute your own branch plans , just checkin the .branchplan file to a folder BranchToolSettings in the root folder of your teamproject.
Dynamic menus – Go direct to the operation you want
In the new version, the Branch Tool Menu is now automatically populated with the different branchplans or operations, so you can select directly in the menu what you want to do.

New Add File or File structure actions
A common ask has been to be able to include a predefined set of files or a file structure then performing the operations. Now you can both add files and file structures, both from the local filesystem/unc path or from a source control path.

Wednesday, April 3, 2013

TFS Community Branch Tool released at Visual Studio Gallery

I’ve  just released the Community Branch Tool at Visual Studio Gallery. It's is based on the ALM Rangers Quick Response Code Sample Tfs Branch Tool. And Im now converting it to an Community project to continue develop it, and make make the tools easily available and accessible for everyone.

Links and locations
You will find the Community Tfs Team Tools at http://visualstudiogallery.msdn.microsoft.com/ce9651af-671c-4148-987f-a91820646031 and the source code will be published at https://tfsbranchtool.codeplex.com/

Demo Video
Willy Peter Schaub, has made a video demonstrating the feature set of the ALM Rangers Branch Tool on channel9  http://channel9.msdn.com/posts/Quick-tour-of-the-TFS-Branch-Tool-VS-Extension. For an in-depth session about the architecture of the tool please refer to
http://channel9.msdn.com/posts/RangersTalk-An-insight-into-the-inner-world-of-the-Quick-Response-TFS-Branch-Tool


Based on the ALM Rangers Quick Response Code sample
The TFS Community Branch Tools Project is based on the ALM Rangers Quick Response Code Sample Tfs Branch Tool. If you want to know more about the ALM Rangers or the Quick Response Sample that started it all, please read the following posts
http://blogs.msdn.com/b/willy-peter_schaub/archive/2012/06/22/introducing-the-visual-studio-alm-rangers.aspx and http://blogs.msdn.com/b/visualstudioalm/archive/2012/11/22/quick-response-sample-visual-studio-extension-to-support-the-alm-rangers-branching-and-merging-guidance.aspx

Sunday, November 25, 2012

Implementing ALM Rangers Branching by right clicking

Last week we shipped one of the ALM Rangers projects I’ve been working for the last months, and that hopefully could ease the implementation of branching in TFS for a lot of people, especially now that we implemented a Visual Studio Extension.

ALM Rangers Branch Tool Visual Studio Extension
What we now released is a tool for standardized and automated implantation of branching strategies, and we put it right there you want it, on the context menu in source control explorer. By right clicking in your source tree, you can now implement the branching strategy of your choice in an easy, standardized and automated process.  This is done by right click and select the ALM Rangers Branching Tooling menu.

The first step is to simply select your branch plan. The TFS Branch Tool present a list of available branch plans and provides a short description of them. Then you select a branch plan you get prompted for the parameters needed to implement the selected operation.

Once selected and all parameters is provided you can implement the action by clicking ok, sit back and enjoy while your branching operation is applied.


Customizable and extendable
But the best part is that you can both customize and extend the functionality. The Visual Studio extension relies on .branchplans files to define what operations to perform. The .branchplans files is xml based and can easily so you can easily edit the files to add commands or modify the branching operations.

Adding a ServicePack-Release branch plan
Creating an initial structure is a good thing, but that’s only done once. Hopefully you’re doing releases more often, and if you have a more advanced strategy for releases, it can be a lot of work to handle manually.

By creating a new branch plan for your release strategy you can use the tool to have that work automated.  The tool will automatically pick up and adopt to your new branch plan and display your customized information as well as any arguments you defined for your branch plan.

It will then execute the actions you defined in your branch plan. 


And provide you with the desired result in source control.