0

We have a TFS 2013 installation with projects that we want to migrate to GIT. For the source control history, we've landed on GIT TFS and the --with-branches option, which will get us all. But we have a few other questions:

  1. Is it possible to associate TFS 2013 with another GIT server - the organization has an established GIT server that is preferred.
  2. How can we get to associate work items with the # convention, I guess there might be need of a post-hook or something.
  3. Would there be a chance of migrating all links in TFS from WorkItems to changesets to now point to commits in the GIT repo?

The first two are the most important. The third we can live without I think, as we don't need to delete the repository, unless that automatically is done when and if we can associate the other GIT server with the TFS project.

EinarI
  • 627
  • 1
  • 9
  • 14

1 Answers1

0

Can you tell us what you plan to do after having migrated your sources to git? A better description of what you plan to do... You are still talking of TFS? Do you talk about TFS-VC (still using it) or TFS-Git (want to migrate totally)?

I will anyway try to answer your questions...

  1. No, you can't. With TFS, the only abolutly needed part is source control. So, if you want to use any other feature of TFS (except ALM), you MUST use its source control. But if you plan to use TFS(Git), you could sync the git history with the one of another server. Because you can't plug TFS source control on another git server because TFS don't use a plain old .git directory but store all the git blobs in its database

  2. TFS(VC) or TFS(Git)? If you use TFS(Git) or git-tfs to checkin in TFS(VC), there is no problem in using the # convention... Otherwise, I don't understand what you want...

  3. Not sure what you want again... perhaps you should have used the --export option in the git tfs clone command. That way, all the associations with workitems will be added to the commit message.

Not sure it answer well to your questions but that's the better I can do with the information you gave...

Philippe
  • 28,207
  • 6
  • 54
  • 78
  • We're trying to abandon TFS for source control all together but use the rest of the ALM stuff. In fact, we don't really want to even use the built in GIT server in TFS, as there is already an established GIT server. For historical links between work items and source, we could just leave everything as is. But moving forward we'd love to be able to commit to this other GIT server and use # associations and it be linked. We might be able to do a post receive hook for GIT on one server pushing it all to the other. But that leaves us with migration of data. We have tons. – EinarI Sep 25 '14 at 07:40
  • 1
    You can't link a work item to something TFS do not know (a commit on another server). You could 1) Create a TFS(Git) project and sync this git repository with your "official" git repository and work items will be automatically linked (easier solution and get a backup for free!) 2) Create a hook in your official server and use tfs api to modify comment of work item to add commit sha1 (harder solution) – Philippe Sep 25 '14 at 10:16