diff options
author | Achilleas Pipinellis <axilleas@axilleas.me> | 2017-08-30 17:57:45 +0200 |
---|---|---|
committer | Achilleas Pipinellis <axilleas@axilleas.me> | 2017-09-06 15:51:05 +0200 |
commit | b0476ccfa6c5f7c2cb71fcc8100a8cf60d8a82f9 (patch) | |
tree | 4f5d0a2eb7cd56650832a9c89bd3cc8ddbbec006 /doc | |
parent | a0c13698f948d4ebc69ce54660c4022a4a394a0c (diff) | |
download | gitlab-ce-b0476ccfa6c5f7c2cb71fcc8100a8cf60d8a82f9.tar.gz |
Add TFS migration docs
Diffstat (limited to 'doc')
-rw-r--r-- | doc/user/project/import/index.md | 1 | ||||
-rw-r--r-- | doc/user/project/import/tfs.md | 43 |
2 files changed, 44 insertions, 0 deletions
diff --git a/doc/user/project/import/index.md b/doc/user/project/import/index.md index 67e856a97cd..0f53ccc447b 100644 --- a/doc/user/project/import/index.md +++ b/doc/user/project/import/index.md @@ -8,6 +8,7 @@ 1. [From SVN](svn.md) 1. [From ClearCase](clearcase.md) 1. [From Perforce](perforce.md) +1. [From TFS](tfs.md) In addition to the specific migration documentation above, you can import any Git repository via HTTP from the New Project page. Be aware that if the diff --git a/doc/user/project/import/tfs.md b/doc/user/project/import/tfs.md new file mode 100644 index 00000000000..8d5eeb14a9e --- /dev/null +++ b/doc/user/project/import/tfs.md @@ -0,0 +1,43 @@ +# Migrating from TFS + +[TFS](https://www.visualstudio.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. +- **Changesets.** Changes in CVS are per file, while changes (commits) in Git + they always refer to the whole project. One of the consequences of this is that + it is very easy in Git to revert (create a change that undoes) or undo a whole + change. + +_Check also Microsoft's documentation on the +[comparison of Git and TFVC](https://www.visualstudio.com/en-us/docs/tfvc/comparison-git-tfvc) +and the Wikipedia article on +[comparing the different 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. +- **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). |