3

Has anyone used the PlasticSCM client tools to work against a TFS repository?

Basically my current client is using the new hosted TFS for version control (not TFS-Git, just standard TFS), but I have seen the light of distributed version control systems on previous projects and now can't go back!

Is there a recommended approach to getting a DVCS style experience with a standard TFS backend?

I know I am asking a lot, but I have done some research and there seems to be hints that it maybe possible (to sync PlasticSCM with TFS) all over the PlasticSCM forums, but I have found nothing concrete.

This youtube video looks very promising. With checkins made to Plastic appearing in TFS and vice versa (via a command line sync operation). http://www.youtube.com/watch?v=AJKF3cjg7jA

Alexander Preston
  • 1,665
  • 11
  • 15

3 Answers3

5

Yes, you can use Plastic SCM to sync with TFS. But so far you've to rely on the command line.

It is able to keep one branch in sync since keeping more than one gets complicated since TFS doesn't do the same sort of branch and merge tracking that Plastic does. In fact, Plastic can be fully synced with Git http://www.plasticscm.com/gitsync/index.html pushing and pulling branches, merges and concurrent changes, merge tracking and everything.

In the case of TFS you need to download Plastic SCM 4.2 (or higher) which is the "labs version" (but fully stable) that includes the new functionality.

Once you do that, the command is rather simple:

$ cm sync /main@codice@localhost:8084 tfs http://tfsserver:8080/tfs\\DefaultCollection $/Project --user=tester --pwd=tester

The user argument accepts domain names (--user=Domain\username).

Check the following graphic with more details about how it works:

enter image description here

pablo
  • 6,392
  • 4
  • 42
  • 62
  • Thank you pablo - I thought that it would be you to come to my rescue! Has the cm sync command been tested with Hosted TFS? (www.visualstudio.com). No matter how I enter my username and password I get "Error: TF30064: You are not anuthorized to access the server." Because it is hosted TFS my user account is my MS live account email address. – Alexander Preston May 16 '13 at 14:45
  • No, we didn't test it with the online one. But we will give it a try... today! :-) Stay tuned. – pablo May 16 '13 at 14:51
  • Are you using TFS 2012 or 2010? Because so far we do use 2010 only. And it seems TFS 2010 itself fails too against the online. We'll look to update to 2012. – pablo May 16 '13 at 18:56
  • Good question I am not sure which version the hosted TFS utilises. I would assume it's the latest version as its a brand new service. I am using VS2012 to connect to it. – Alexander Preston May 16 '13 at 19:36
  • Yep. Then we need to adapt to 2012. Not tough. Can you wait? – pablo May 16 '13 at 19:39
  • Depends how long . I do die inside a bit every time I Get Latest from TFS without being able to commit my edits first! Plastic looks like a great tool, so can't wait to use it! – Alexander Preston May 16 '13 at 19:47
  • Hi @pablo Did you guys manage to get support in for the hosted version of TFS? – Alexander Preston Jun 20 '13 at 20:04
  • 1
    Hi @AlexPreston, starting from release 4.2.39.458 of PlasticSCM we have included support for TFS 2012. We have also checked the hosted TFS version and we have a small issue. On the first sync the process can get stuck asking for credentials. If you try again the process will complete successfully. – Roberto Luis Bisbé Jul 18 '13 at 17:37
1

Why not use git locally and use git-tf to sync with TFS version control?

James Reed
  • 13,873
  • 51
  • 60
0

Got the correct syntax for CodePlex after much experimenting:

cm sync /main@<repo>@<plasticserver>:8087 tfs https://tfs.codeplex.com:443/tfs/TFS04 
$/<project> --user=snd\<user>_cp --pwd=<pass>

where:

  • /main is the (default) PlasticSCM branch to sync.
  • <repo> is the name of the PlasticSCM repository to sync.
  • <plasticserver>:8087 is the name of the local PlasticSCM server and port number.
  • TFS04 is the name of the collection (you can get it from the Connect link on the Source Code tab, It varies per project).
  • <project> is the CodePlex project name (you can get it from the Connect link on the Source Code tab, it is case sensitive).
  • snd\<user>_cp is the username, is the normal login name for codeplex, snd\ is a domain prefix and _cp a username suffix.
  • <pass> is the codeplex password that belongs to <user>.
wvd_vegt
  • 326
  • 2
  • 5