Mixing TFVC and Git

Mixing TFVC and Git

 04 Mar 2017 -  Giulio Vian

It all started because I needed using files coming from a Git repository and additional files stored in classic Team Foundation Version Control (TFVC), all toghether in the same build. The Options You have three options: the REST API, the tf.exe vc command or … we will see. Option 1 – REST API My first attempt relied on a Powershell script to download the files from TFVC using REST API. It worked but performance is not that great as you have to download a file at a time in a loop.

Read more… ( ~3 Min.)
A new look for 2016 blog

A new look for 2016 blog

 29 Nov 2015 -  Giulio Vian

I did it again and changed my blog engine to Hugo   ; as a consequence you will find some small change in style and navigation. The first and foremost reason is the complexity induced by Jekyll   . It requires some GB (who says that Visual Studio is big?) and many vodoo hacks to work on Windows. I ended having a Linux VM running Jekyll and some additional steps going from the Markdown file to a published post.

Read more… ( ~1 Min.)
Annoyed by TF276000 error?

Annoyed by TF276000 error?

 28 May 2015 -  Giulio Vian

Annoyed by this error? [Full Analysis Database Sync]: TF276000: The current Analysis Database Sync job has exited without making any changes. Either another Analysis Database Sync job is already in progress, or the Analysis Database Sync job cannot run because an Optimize Databases job is running. The next Analysis Database Sync job will start at its scheduled time. It shows up in the Cube Status report of the Administrative Report Pack   , and you are using them, aren’t you?

Read more… ( ~2 Min.)
Logging (Developer side)

Logging (Developer side)

 21 May 2015 -  Giulio Vian

I wrote lot of code in my life, and I discovered some patterns that can be useful to other people, so let’s share and discuss. More than design patterns, they are ways of applying classical Gang of Four Design Patterns   in specific contexts. Today, I will start discussing writing logging and monitoring code, and you will see why I take these two together. The code examples use the C# language, but the ideas can be equally applied to C++, Java, Go or any other object oriented language with an interface feature that decouples implementation from definition.

Read more… ( ~4 Min.)

Command line tool to manage Git repositories in TFS

 24 Apr 2015 -  Giulio Vian

In a previous post , I quickly touched on TfsGitAdmin. I published the code on GitHub at https://github.com/giuliov/TfsGitAdmin and added new features to it: Adds an additional Git repository to a Team Project Creates the default Git repository on a Team Project that was created without version control Deletes an existing Git repository List all Git repositories in a Team Project Renames an existing Git repository Some Usage Examples TfsGitAdmin add -s http://localhost:8080/tfs -c DefaultCollection -p MySampleProject -r MyAdditionalGitRepository Adds an additional Git repository to Team Project MySampleProject.

Read more… ( ~1 Min.)

Q & A on Agile Portfolio Management

 22 Apr 2015 -  Giulio Vian

A while ago I held and internal session on Agile Portfolio Management. I found some questions interesting, so I share my answers here. Q: How to measure the improvement of an agile Team, which indicator to use? A: There are three useful values to monitor. One is the Team’s velocity: it should go up sprint after sprint, suggesting that the Team gets more and more efficient; the initial sprints are usually irregular.

Read more… ( ~2 Min.)
Why the second node is not showing in the Console?

Why the second node is not showing in the Console?

 11 Nov 2014 -  Giulio Vian

A while ago, I was helping my US colleagues migrating their TFS to 2013. It was a serious work, as they moved from a TFS 2010 SP1 to 2013 Update 3. They have everything in one Collection, which makes a Migration Upgrade   (or attach upgrade) feasible. We designed a new infrastructure with Disaster Recovery in mind. In the old configuration they just mirrored the databases at the storage level, in the new one, SQL Always On manages the replica.

Read more… ( ~2 Min.)

TfsSecurity wrapper

 06 Nov 2014 -  Giulio Vian

TfsSecurity   is an ugly but effective tool. I said ugly because the scope parameter is hard to get: you need to ask the database or go through the API. This latter is a palatable option in PowerShell, so here is a sample script to create a Group in an existing Team Project. [CmdletBinding()] param ( [Parameter(Mandatory=$true, Position=0)] [uri] $collection, [Parameter(Mandatory=$true, Position=1)] [string] $project, [Parameter(Mandatory=$true, Position=2)] [string] $groupName, [Parameter(Mandatory=$false, Position=3)] [string] $groupDescription = "" ) $ErrorActionPreference = 'Stop' Set-StrictMode -Version Latest $TFSSecurity = "${env:ProgramFiles(x86)}\Microsoft Visual Studio 12.

Read more… ( ~2 Min.)

Automating TeamProject creation (Git included)

 28 Oct 2014 -  Giulio Vian

I get frequent request from my teams to create a new project, therefore I automated the task with a PowerShell script. PowerShell Creation scripts The script algorithm goes like this: Load the definition for the new project Validate the definition by checking the user accounts invoke the creation tool with the /validate option Creates the project using TFPT   Creates an Organizational Unit in Active Directory where placing the groups Creates the AD groups and add the user account Creates corresponding TFS groups Checks that user account belongs to one of the three AD groups that control the TFS Access Level — best known as Licensing I will spare you the code here as it is more than 100 lines long.

Read more… ( ~3 Min.)

Do not leave your Collections off-line!

 27 Oct 2014 -  Giulio Vian

We have some unused collections and this seemed harmless, until I started accumulating problems. Best Practices Analyzer (BPA) The first issue happened with BPA. It refuses starting a scan, if it sees off-line collections. Not a big deal, as I put them online just for this. Lab Management I encountered a more serious issue with Lab Management configuration, so much that I opened a case with Microsoft Support. I tried to change the Virtual Machine Manager server used by TFS, and I received an unpleasant HostShutdownException error.

Read more… ( ~1 Min.)