I am forced to use VSS at work, but use SVN for a personal repository. What is the best way to sync between VSS and sync?
Asked
Active
Viewed 2,669 times
9
-
Any reason that the accepted answer hasn't been selected? – Brett Rigby Jul 20 '10 at 08:44
3 Answers
4
To get rid of the manual merge step, I could use a separate svn branch (svn://branches/VSS) as follows:
- Create a working copy of svn://branches/VSS
- Do a VSS Get Latest on this working copy
- svn commit
- svn merge from svn://trunk
- svn commit
- Do a VSS diff and checkout all files (without overwriting) with differences
- Check in those files
- reintegrate svn://branches/VSS into svn://trunk

Adam Tegen
- 25,378
- 33
- 125
- 153
2
You could also treat this as a vendor supplied branch as defined in the redbean book: Vendor Branches
With this, the basic flow would be:
- Have a vendor branch "branches/VSS/current" containing the latest code from VSS
- Tag the current version as "branches/VSS/2008-09-15"
- Next day, get the new files into "current"
- Tag again into "branches/VSS/2008-09-16"
- Merge differences between the two tags into trunk, resolving conflicts
- Delete old tags as required
This is actually the technique we used when migrating from VSS to SVN. If you care about the return trip from SVN->VSS, you'll just have to diff between trunk and branches/VSS/current and apply the diffs to VSS.

Jim T
- 12,336
- 5
- 29
- 43
0
What I have done in the past is as follows:
- Make sure all my changes are committed to svn://trunk
- Do a get latest from VSS into my working copy.
- Manually merge the changes in my working copy.
- Commit the merged code into the svn://trunk
- Do a VSS diff and checkout any files with differences (without overwriting files)
- Check in those files.

Adam Tegen
- 25,378
- 33
- 125
- 153