April 25, 2010

Syncing Surround SCM Repositories and Working Directories

Surround SCM

New capabilities were added to this functionality in Surround SCM 2012, click to read more!

When I work on product documentation, I frequently sync my working directories with Surround SCM repositories to make sure I am using current files and other writers can access files I have been working on. Surround SCM’s Repository Differences dialog box makes this simple. Each of our user guides is in a project that has several topics (.htm files), images, and other support files. Typically, multiple writers add, modify, and remove files in the same project at the same time. When I check in my work, I view differences for the entire project repository to identify files I need to add to Surround SCM, files that other writers added or updated that I need to get, and files to delete from my working directory because another writer deleted them from the project. Here are the steps I use for syncing.
    1. After recursively checking in all project files, right-click the top-level project repository and choose Differences. The Repository Differences dialog box opens.
    2. Select Recursive to display differences for all files in all subrepositories.
Repository differences dialog
  1. Select the files with ‘missing on server’ in the Differences column and click Add to add them to Surround SCM. The ‘missing on server’ status could indicate files other users removed from Surround. Viewing the file history can help you decide if a file should be added. If the file was removed by another user, click Delete Local to delete it from the working directory.
  2. Select files with ‘different versions’ and click Get to retrieve them to the working directory. These are files that other users modified and checked in since the last get.
  3. Select files that are ‘missing locally’ and click Get. These are files other users added since the last get. Do not get files that were removed from the project because they will be re-added to the working directory.
  4. Click Close to close the Repository Differences dialog box.
  5. Remove any deleted project files from Surround SCM. To easily select the files to remove, recursively list all files in the project and use the ‘Files That Are Not Current’ filter to display only files with a ‘missing’ status. Right-click the files to remove and select Remove Files.