Pergunta

I use Open Source libraries like FastMM.

I check it out from https://fastmm.svn.sourceforge.net/svnroot/fastmm

and then would like to add it to my own SVN server https://project.svn.company.com/

But since the files are already checked out from https://fastmm.svn.sourceforge.net/svnroot/fastmm there is no way to add them to my own SVN.

I would like to have both:

  1. The files which I need for my compilation in my SVN https://project.svn.company.com/

  2. Have to ability to easily Update the open source libraries from https://fastmm.svn.sourceforge.net

What is the recommended way of dealing with this?

P.S. The servers are SVN and the client is TortoiseSVN

Foi útil?

Solução

You can use external dependency that will automatically update other subversion repositories when you update yours.

A simple tutorial with tortoise (this is with the TortoiseSVN 1.7, but the process is very similar with older versions of TortoiseSVN):

In explorer, right click on your subversion working copy folder, and choose TortoiseSVN > properties

choose new > externals

Add a new external, putting in a local path you want it to be checked out to, the repository url, and revision.

Hit ok a few times/close any tortoise dialogs, then do an update on your repository. If everything is setup correctly your local repository and the other repository you linked to. You might have to commit the properties changes before doing an update.

You can modify/remove the external at any time you want to via a similar method as described above (instead of choosing new, choose edit/remove).

Outras dicas

AFAIK, there is no straight-forward way to do this; the only way seems to be manually exporting files + merging new versions of the library.

To do that you have to use the export command instead of checkout, that exports file from the repository without storing any information with them; thus allowing you to treat them as normal files, copy inside another svn project, etc.

(Alternatively, just remove all the directories named .svn from the library source tree).

Then, use some tool to manually merge the checked-out library source with your local version.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top