2

我目前正在使用远程 svn 服务器。但是有时我必须离线工作(因为远程服务器位于封闭的网络上,因此无法连接到互联网)。我想要做的是将 svn 服务器复制到我的本地服务器(也就是我的笔记本电脑)。

我可能应该设置一个本地颠覆服务器(如此处所述:http: //www.subversionary.org/howto/setting-up-a-subversion-server-on-ubuntu-gutsy-gibbon-server

但是,我应该怎么做才能将远程颠覆服务器复制到我的本地笔记本电脑?我的意思是一个简单的 svn checkout 不是我想要的。我想要远程服务器的副本,但它应该在我自己的笔记本电脑服务器上运行。

实际上考虑将颠覆服务器移动(复制)到另一个位置。我只是不知道从哪里开始。任何关键字或如何开始解释都会有所帮助。

另请注意,我可以从 svn 服务器提交和签出,但我可能没有任何管理员权限来访问远程服务器外壳等。

4

2 回答 2

3

如果您只能通过 subversion 协议访问远程 subversion 存储库,您仍然可以使用svnsync创建存储库的副本:

svnadmin create /tmp/svn
ln -s /bin/true /tmp/svn/hooks/pre-revprop-change
svnsync init file:///tmp/svn https://svn.example.org/svn/my-project
svnsync sync file:///tmp/svn
rm /tmp/svn/hooks/pre-revprop-change
于 2012-06-07T07:17:24.083 回答
1

听起来您需要使用 Subversion write-through proxy。这意味着您有一个本地存储库,当您在线时与主存储保持同步,但是如果您尝试提交,那么您的本地镜像会将请求转发给主存储,然后重新同步。请注意,当您不在线时,无法提交。如果您想在离线时保存本地更改,那么您可能需要查看git-svn,它创建一个本地 git 存储库,您可以提交到该存储库,然后您可以单独将这些更改提交回 SVN。

于 2012-06-07T08:24:51.320 回答