0

我有两个VisualSVNServer:master(http://example.com/svn)和一个镜像(backup)

在每台服务器中具有相同的存储库结构,包含 100 个项目(20 GB):

D:\Repositories
               \MyProject1
               \MyProject2
               \MyProjectN

目前我为每个项目手动同步镜像服务器,例如:

svnsync synchronize http://127.0.0.1/svn/MyProject1 http://example.com/svn/MyProject1

svnsync synchronize http://127.0.0.1/svn/MyProject2 http://example.com/svn/MyProject2

svnsync synchronize http://127.0.0.1/svn/MyProjectN http://example.com/svn/MyProjectN

可以用一个命令同步镜像中的所有项目吗?

4

1 回答 1

2

如果http://127.0.0.1/svn/存储库,则可以使用svnsync synchronize http://127.0.0.1/svn/MyProject1 http://example.com/svn.

但是,我怀疑情况并非如此,http://127.0.0.1/svn/它实际上是一个虚拟目录,它是两个独立存储库的共同父目录。如果是这种情况,您不能这样做。Subversion 根本不允许这样做。

编辑:根据您的后续编辑,您有多个存储库从一个共同的父级(根)提供服务。这是第二段的情景。您不能将所有存储库与单个存储库同步svnsync- 您必须单独执行每个存储库。

那么,你怎么能分辨出来呢?运行svn info http://127.0.0.1/svn/MyProject1svn info http://127.0.0.1/svn/MyProject2如果两者都返回相同的报告值Repository Root,则适用第一段。如果您得到与存储库根相同的 URL(IOW,Repository Roothttp://127.0.0.1/svn/MyProject1forMyProject1http://127.0.0.1/svn/MyProject2for MyProject2,那么它们是单独的存储库。

于 2015-12-19T12:12:57.343 回答