gitlab-org--gitlab-foss/doc/user/project/import/tfs.md
Marcel Amirault 0d4c6a14d8 Update redirected links to final destinations
This updates redirected links in integration, update, user
and workflow dirs. Should now link to final URLs to avoid
redirect hops
2019-07-08 23:14:29 +00:00

42 lines
1.9 KiB
Markdown

# Migrating from TFS
[TFS](https://visualstudio.microsoft.com/tfs/) is a set of tools developed by Microsoft
which also includes a centralized version control system (TFVC) similar to Git.
In this document, we emphasize on the TFVC to Git migration.
## TFVC vs Git
The following list illustrates the main differences between TFVC and Git:
- **Git is distributed** whereas TFVC is centralized using a client-server
architecture. This translates to Git having a more flexible workflow since
your working area is a copy of the entire repository. This decreases the
overhead when switching branches or merging for example, since you don't have
to communicate with a remote server.
- **Storage method.** Changes in CVS are per file (changeset), while in Git
a committed file(s) is stored in its entirety (snapshot). That means that's
very easy in Git to revert or undo a whole change.
Check also Microsoft's documentation on the
[comparison of Git and TFVC](https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops)
and the Wikipedia
[comparison of version control software](https://en.wikipedia.org/wiki/Comparison_of_version_control_software).
## Why migrate
Migrating to Git/GitLab there is:
- **No licensing costs**, Git is GPL while TFVC is proprietary.
- **Shorter learning curve**, Git has a big community and a vast number of
tutorials to get you started (see our [Git topic](../../../topics/git/index.md)).
- **Integration with modern tools**, migrating to Git and GitLab you can have
an open source end-to-end software development platform with built-in version
control, issue tracking, code review, CI/CD, and more.
## How to migrate
The best option to migrate from TFVC to Git is to use the
[`git-tfs`](https://github.com/git-tfs/git-tfs) tool. A specific guide for the
migration exists:
[Migrate TFS to Git](https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/migrate_tfs_to_git.md).