Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Different Distributed Version Control Systems working together

My office has a central Source Safe 2005 install that we use for source control. I can't change what the office uses on the server.

I develop on a laptop and would like to have a different local source control repository that can sync with the central server (when available) regardless of the what that central provider is. The reason for the request is so I can maintain a local stable branch/build for client presentations while continuing to develop without having to jump through flaming hoops. Also, as a consultant, my clients may request that I use their source control provider and flexibility here would make life easier.

Can any of the existing distributed source control clients handle that?

like image 847
Rob Allen Avatar asked Aug 04 '08 19:08

Rob Allen


People also ask

What are the different distributed version control system?

Distributed source code management systems, such as Git, Mercurial, and Bazaar, mirror the repository and its entire history as a local copy on individual hard drives.

What are the two types of version control systems?

There are two types of version control: centralized and distributed.

Which of the following are examples of a distributed version control system?

Distributed Version Control The three most popular of these are Mercurial, Git and Bazaar. These systems do not necessarily rely on a central server to store all the versions of a project's files. Instead, every developer “clones” a copy of a repository and has the full history of the project on their own hard drive.

What is difference between CVCS and DVCS?

DVCS is faster than CVCS because you don't need to communicate with the remote server for each and every command. You do everything locally which gives you the benefit to work faster than CVCS. Working on branches is easy in DVCS.


2 Answers

Well... KernelTrap has something on this. Looks like you can use vss2svn to pipe the Source Safe repo into a Subversion repository, then use the very nice git-svn to pull into a local git repo.

I would assume the commits back to VSS would not be a smooth, automatic process using this method.

like image 181
saint_groceon Avatar answered Sep 28 '22 10:09

saint_groceon


You should be able to check out the current version of the code and then create a git repository around it. Updating that and committing it to your local git repository should be painless. As should cloning it.

The only catch is that you need to have them both ignore each other (I've done something similar with SVN) by messing with the appropriate ignore files. I'm presuming SourceSafe let's you ignore things. And you'll need to do certain operations twice (like telling both that you are deleting a file).

like image 39
Louis Brandy Avatar answered Sep 28 '22 09:09

Louis Brandy