Moving from one source control system to another is much like moving to a new town. You spend time finding where to get the same services in the new town, discovers what’s different, what’s new, and what is not available. In this blog post I’ll take a similar approach to explore what it is like to move from Subversion town to TFS town. I’ll use SVN terminology where it makes sense so you can quickly find TFS equivalent terms. The TFS way to do a given Subversion Task
Importing CodeSubversion has an import command to add files and folders to an SVN repository. Once a folder structure is created, files and folders can be added using svn add. TFS does not have a separate import and add operation – instead it is all done with the tf add command. TFS does require a workspace (think working copy directory mapping) to be defined to map local folders to server folders. In Visual Studio the workspace is created automatically for you if you drag and drop files onto Source Control Explorer or if you add an existing solution to Source Control.
To do this from the command line in TFS you do the following:
After the checkin tfs makes the file read only while svn leaves the file writable
Read more: Ed Hintz (MSFT)
- cd into the top level folder you want to add
- Create a workspace - tf workspace /new
- Select the server path you want to add the folder to in the dialog
- Press OK
- Pend the add of the folder and it’s contents recursively by performing the following command. tf add .\ /r
- tf checkin
- SVN will look for missing files and place them in the working copy. TFS does not do this.
- SVN pulls down an extra copy of the file and places it in the .svn directory. TFS does not pull down an extra copy which means the space on disk that a TFS workspace takes is at least 1/2 the space that SVN uses.
- SVN pulls down files as writable while TFS pulls down files that are not checked out as read-only
After the checkin tfs makes the file read only while svn leaves the file writable
Read more: Ed Hintz (MSFT)
0 comments:
Post a Comment