Moving from TFVC to Git

I’ve had to move a few projects now and it’s pretty straight forward if you don’t want to carry over work item history. If you do then this is possible to pull over, but you might be better to use git-tfs, as opposed to git-tf.

I’m using git-tf in this example (git-tf-2.0.3.20131219)

First for convenience i set the PATH

PATH=%PATH%;D:\3rdParty\git-tf-2.0.3.20131219

Then create a new folder and use git-tf to pull down your TFS VC chagne history into a Git report like so

git-tf clone https://MEME.visualstudio.com/DefaultCollection $/MyProject/solOARS D:\SOURCE\Repos\OARS –deep

The “–deep” flag above is what pulls down the whole history, without it you just get one commit with the latest version. You’ll get prompted for the credentials, in this example I’m using VSO, so you will need a set of basic auth creds (https://www.visualstudio.com/en-us/integrate/get-started/auth/overview).

BasicAuthUsernamePasswordVSO

Then you’ve get some output like the following to know its working and done.

Cloning $/MyProject/solOARS into D:\SOURCE\Repos\OARS\solOARS: 19%,
Cloned 13 changesets. Cloned last changeset 1332 as 1c1cf84

Once this is done you can add the existing Repo to VS

AddExistingRepo

Then check if the history is there on your local by the following

click Branches

ViewBranchHistoryOnLocal

Right click on master and click view history

ViewBranchHistoryOnLocal2

And you should see a commit for every check in that is in you history

ViewBranchHistoryOnLocal3

Once this is confirm you can go back and then go to Sync

You’ll get prompted here to input the address of your Repo, just throw it in and away you go.

PublishToRemoteRepo

Once this is done you will be able to see the history come through on your repo, in my case its a TFS-Git repo

ResultInTFS

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s