从本地同步SVN仓库到服务器?

4

我有一个本地的 SVN 仓库,用于我的某个项目的开发工作,另外还在客户的媒体神庙账户上设置了一个 SVN 仓库以便更加安全备份。

由于我总是在笔记本电脑上进行开发工作,所以并不总是有互联网连接(这就是为什么使用本地 SVN),因此我想知道是否有一种简单的方法将我提交到本地仓库的更改推送到服务器仓库?

6个回答

3

3
我知道这可能有些牵强,但你试图做的事情并不一定适合Subversion,因为它是一个集中式版本控制系统(只有一个主存储库副本)。 Git是一种分布式版本控制系统,可以让您进行离线提交、差异和合并。你应该去了解一下。

使用 git-svn,您还可以提交到本地仓库(该仓库正在跟踪远程 SVN),稍后将差异推送到 SVN 仓库。 - Luca Tettamanti

1
你应该只需进行 SVN 合并。

1
你可以考虑使用 Bazaar 作为本地代码仓库,然后提交回中央 SVN 服务器。Bazaar有一些不错的插件,可以将分布式源代码控制集成到现有的客户端-服务器源代码控制系统中。

1
如果你卡在了一个 SVN 服务器上,但想要一个本地仓库和两者之间的轻松同步,那么你应该使用 SVK。它会创建一个本地镜像,你可以在上面分支;对镜像的提交会合并回主干。

0
所以我想到的解决方案是使用svnadmin dump/load功能。我主要在一个Ruby on Rails项目中使用它,该项目正在部署到媒体神庙帐户上。这个想法是,当一个新版本的网站准备好部署时,检入到我的本地存储库中的代码将被转储到一个文件中,然后通过ssh将该文件复制到服务器上。一旦在服务器上,我将使用ssh执行一个shell脚本,将其加载到服务器SVN中。然后我将检出该服务器代码,将其复制到rails应用程序目录中,运行迁移,然后重新启动服务器。
我的想法是,通过使用这种方法,我可以确保当前在生产中的代码反映了服务器SVN存储库中最近的修订版。
感谢Fernando提供的dump/load功能链接。
记录一下,在发布这个问题之前,我确实评估了Git解决方案,并且由于我在这个项目中使用NetBeans作为我的IDE(NetBeans有一个非常棒的Ruby/RoR插件),因此NB的Git插件似乎有点错误,并且没有正常工作,而SVN插件则非常稳定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接