将SVN repo从本地同步到服务器?

时间:2008-10-06 17:20:02

标签: svn

所以我有这个本地SVN回购,我用于我的特定项目的开发工作,我还在客户媒体庙帐户上设置SVN回购设置,以获得更安全的备份。

我在笔记本电脑上完成了所有开发工作,因此我并不总是有互联网连接(因此也就是本地SVN),所以我想知道是否有一种简单的方法可以将我提交到本地仓库的更改推送到服务器仓库?

6 个答案:

答案 0 :(得分:3)

您可能希望存储库之间有svn merge个版本。

有一些关于如何做到这一点的好教程。有关该主题的详细介绍,请查看http://blog.red-bean.com/sussman/?p=92http://subversion.tigris.org/faq.html#multi-merge

答案 1 :(得分:3)

我知道这是一个延伸,但你试图做的并不一定适合Subversion,因为它是一个集中的版本控制系统(只有一个主存储库副本)。

Git是一个分布式修订控制系统,允许您进行脱机提交,差异和合并。你应该看看它。

答案 2 :(得分:1)

你应该只进行SVN合并。

答案 3 :(得分:1)

您可以考虑将Bazaar用作本地存储库,然后再提交回中央SVN服务器。 Bazaar有一些很好的插件可以将分布式源代码控制集成到现有的客户端 - 服务器源代码控制系统中。

答案 4 :(得分:1)

如果您遇到SVN服务器,但想要一个本地存储库并且在两者之间轻松实现同步,则应使用SVK。它创建了一个可以分支的本地镜像;提交到镜像后合并回主干。

答案 5 :(得分:0)

所以我想出的解决方案是使用svnadmin转储/加载功能。我主要使用Ruby on Rails项目,我正在部署到媒体庙帐户。我们的想法是,当准备好部署新版本的站点时,检查到我的本地存储库的代码将被转储到文件中,然后该文件将通过ssh复制到服务器。一旦进入服务器,我将使用ssh执行一个shell脚本,该脚本将负载加载到服务器SVN中。然后,我将检查该服务器代码,将其复制到rails app目录,运行迁移,然后重新启动服务器。

我们的想法是,通过使用这种方法,我可以确保当前正在生产的代码反映服务器SVN repo中的最新版本。

感谢Fernando提供转储/加载功能的链接。

为了记录,我在发布这个问题之前评估了Git解决方案,并且由于我使用NetBeans作为我的IDE项目(NetBeans有一个非常棒的Ruby / RoR插件),因此NB的Git插件似乎有点儿马车,并没有正常工作,而SVN插件坚如磐石。