summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcia Ramos <virtua.creative@gmail.com>2017-09-06 15:52:05 +0000
committerMarcia Ramos <virtua.creative@gmail.com>2017-09-06 15:52:05 +0000
commit93e1d4dd285c657a3abb09dff7f86e552b0097f2 (patch)
treeeb991ede2ed1f79145cef35515350ea4862bde65
parent5ab6af5327ccaa512788eaf3aec51d38d9099f6e (diff)
parent0aa4db5fe702f7bf32272ac6105aaf5ec79104e7 (diff)
downloadgitlab-ce-93e1d4dd285c657a3abb09dff7f86e552b0097f2.tar.gz
Merge branch 'docs/migrating-from-tfs' into 'master'
Add TFS migration docs See merge request !13934
-rw-r--r--doc/user/project/import/index.md9
-rw-r--r--doc/user/project/import/tfs.md42
2 files changed, 47 insertions, 4 deletions
diff --git a/doc/user/project/import/index.md b/doc/user/project/import/index.md
index cfc8e04399c..8da6e2a8207 100644
--- a/doc/user/project/import/index.md
+++ b/doc/user/project/import/index.md
@@ -1,14 +1,15 @@
# Migrating projects to a GitLab instance
1. [From Bitbucket.org](bitbucket.md)
+1. [From ClearCase](clearcase.md)
+1. [From CVS](cvs.md)
+1. [From FogBugz](fogbugz.md)
1. [From GitHub.com of GitHub Enterprise](github.md)
1. [From GitLab.com](gitlab_com.md)
-1. [From FogBugz](fogbugz.md)
1. [From Gitea](gitea.md)
-1. [From SVN](svn.md)
-1. [From ClearCase](clearcase.md)
1. [From Perforce](perforce.md)
-1. [From CVS](cvs.md)
+1. [From SVN](svn.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..8727c2ff6c3
--- /dev/null
+++ b/doc/user/project/import/tfs.md
@@ -0,0 +1,42 @@
+# 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.
+- **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://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 (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).