SVN svnsync 所有回购项目
SVN svnsync all repo project
我有两个VisualSVNServer: master (http://example.com/svn)和一个镜像(备份)
在每台服务器上都有 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
是否可以一条命令同步镜像中的所有项目?
如果 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/
实际上是一个虚拟目录,它是两个 independent 存储库的公共父目录。如果是这种情况,则不能执行此操作。 Subversion 根本不允许这样做。
编辑: 根据您随后的编辑,您有多个存储库由一个共同的父级(根)提供服务。这是第二段的情景。您不能将所有存储库与单个 svnsync
同步 - 您必须单独执行每个存储库。
那么,你怎么区分呢? 运行 svn info http://127.0.0.1/svn/MyProject1
和 svn info http://127.0.0.1/svn/MyProject2
如果 return 报告的值与 Repository Root
相同,则适用第一段。如果您得到与存储库根相同的 URL(IOW,Repository Root
对于 MyProject1
是 http://127.0.0.1/svn/MyProject1
,对于 MyProject2
是 http://127.0.0.1/svn/MyProject2
,那么它们'是单独的存储库。
我有两个VisualSVNServer: master (http://example.com/svn)和一个镜像(备份)
在每台服务器上都有 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
是否可以一条命令同步镜像中的所有项目?
如果 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/
实际上是一个虚拟目录,它是两个 independent 存储库的公共父目录。如果是这种情况,则不能执行此操作。 Subversion 根本不允许这样做。
编辑: 根据您随后的编辑,您有多个存储库由一个共同的父级(根)提供服务。这是第二段的情景。您不能将所有存储库与单个 svnsync
同步 - 您必须单独执行每个存储库。
那么,你怎么区分呢? 运行 svn info http://127.0.0.1/svn/MyProject1
和 svn info http://127.0.0.1/svn/MyProject2
如果 return 报告的值与 Repository Root
相同,则适用第一段。如果您得到与存储库根相同的 URL(IOW,Repository Root
对于 MyProject1
是 http://127.0.0.1/svn/MyProject1
,对于 MyProject2
是 http://127.0.0.1/svn/MyProject2
,那么它们'是单独的存储库。