How can I use third party svn and my own svn in the same project?

I have an SVN configuration question.

I downloaded some code from 3rd party SVN (like sourceforge or google-code). If I am making local changes to this code, how do I back up my changes to my own svn?

I want to be able to dump changes from third party svn to diff with my own version.

(I am using intelli-j, but I can also use the svn command line.)

+2


source to share


2 answers


If you do not have commit rights to the external SVN server, you cannot commit your changes to that system. The code you pulled from the external SVN provider is permanently linked to the repository you pulled from.

This is a fundamental difference between centralized and decentralized version control systems .

If you have to stick with SVN, you don't have many options. You can continue execution 'svn update'

to get the latest changes from the external server, but your local changes will always be unconfirmed differences in your local copy.



There are alternatives. Major distributed revision control systems can work with SVN servers. For more information, see the following articles:

+1


source


The svn: externals function can do what you want, but I found it difficult to work. You can also read about how to maintain vendor branches .

What you really want to do is create your own branch with your own changes in a third party repository. Unfortunately, without committing access to another repository, you cannot do this, since all branches are stored on a central svn server.



You might want to look into DVCS like git or hg which will allow you to maintain local branches. You can use something like git-svn to keep up with changes in the svn repository and then maintain your local branch in git.

+1


source







All Articles