TFS API to manipulate your server Workspaces

Hi all, one in a while we need to do some changes within our TFS Build process template, and a easy way to do it is using powershell in pre or post build command.

I will add a sample code to find the current workspace and then you can program what you need from this point on.

Code:

# load the needed client dll’s
[void][System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.TeamFoundation.VersionControl.Client”)

#here I’m considering that your workspace is one folder up

$rootBuildPath = (get-item $PSScriptRoot ).parent.FullName

#here I get the workspaces set for that local folder

$workspaceInfos = [Microsoft.TeamFoundation.VersionControl.Client.Workstation]::Current.GetLocalWorkspaceInfoRecursively($rootBuildPath)

#here I can get the tfs collection

$tfsCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($workspaceInfos[0].ServerUri);

#then I can get the version control service

$vc = $tfsCollection.GetService([type] “Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer”);

#and for example, download something

$fileXml = Join-Path -Path $rootBuildPath -ChildPath “file.xml”
$itemToDownload = $vc.GetItem(“$/teamProjectName/file.xml”, [Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::Latest);
$itemToDownload.DownloadFile($fileXml)

 

It works for all xaml builds and also for the new build system.

Anúncios

VSCode + Git – Step-by-Step

Hey guys, I’m amazed with VSCode, it’s simple and powerful!

My idea with this post is to make it more simplified, and clear for the ones that are just starting with code.

You must have in your machine VSCode and Git installed!

Also you must have a repository ready to be used, in my case I’m using VSTS:
Git

Now to setup your environment:

  1. Open the command prompt in the folder you want to add your project files
    GitClone
  2. Press enter and then your code will be cloned locally
    GitCloning
  3. Now to open in your VSCode just typing “code .” in the project’s folder
    (This is the folder where are your project files)
    Then you will be able to see the project:
    CodeProject
  4. Now go to Git tab
    GitTab
    Now change some file and save, and then it will appear in the Git tab as a change
    GitChange.png
  5. Now you can add a message and Commit All
    GitCommitAll
    At this point you committed your code to your local repository, then if you and to send it to the remote Git, you must sync your code.
  6. Sync to the origin
    GitSync
    Once you press sync, it will execute a git pull and then a git push, that way it can ensure that you are integrating all changes locally and then sending all integrated code back to the server. Conflicts may appear, depending on the changes done pushed to the server previously, in that case VSCode will show for you the conflict and you may use its tool to fix the conflict.

 

 

jQuery Selector tip – two classes or :not a class?

Haha, what a confusing tittle, isn’t it.

Ok, tip of the day.

How to select an element with jQuery by two classes?
$(‘.class1.class2’)

But, how to select an element with jQuery with a class1 but without  class2?
$(‘.class1:not(.class2)’)

It’s sometimes is quite trick to figure out but is really straightforward.