把一台电脑的svn 工作代码到另一台电脑上。svn cleanup,svn revert等操作很慢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把一台电脑的svn 工作代码到另一台电脑上。svn cleanup,svn revert等操作很慢?相关的知识,希望对你有一定的参考价值。
两台电脑都是ubuntu 10.04 svn 版本是1.7
一台电脑通过 svn co URL 下载代码到本地(co 下来后并没有修改文件,是一个干净的工作代码)。 另一台电脑通过scp 从这台电脑上拷贝到本地。发现svn update 工作目录,很慢(要等很久才有结果),请问为什么?
如果是指同一个SVN库的两个客户端,那么就很简单了,两个客户端各自做各自的提交、更新操作就是了,如果想实现B电脑客户端的自动同步,那只要在B电脑上设置一个定时任务,比如每小时自动执行一次svn update操作就是了
如果是只两个不同的SVN服务器端,这个就麻烦了。首先必须保证B电脑上的a2文件夹只能是从A电脑上传过去,而不能是由其他人上传修改,否则会导致经常冲突;然后,你在A电脑上将A、B服务器的两个库分别checkout出来,在A电脑的SVN服务器端hooks文件夹下设置一个钩子post-commit,这个钩子会在A电脑的服务器端每次执行commit操作后自动执行,在这个钩子里先update A服务器checkout出来的那个文件夹,然后将update后的内容(过滤掉.svn文件夹)复制到B服务器checkout出来的那个文件夹,然后add 、commit B服务器checkout出来的那个文件夹。
或者另外一个办法,使用svn:externals(外部引用)属性,在B服务器checkout出来的a2文件夹上设置这个属性,使得B服务器的a2文件夹指向A服务器的a2文件夹,每次update时就会自动从A服务器上取这个文件夹的内容出来。但同样,这时B服务器的这个文件夹是不能被人为修改的。
SVN将一台服务器上的代码迁移到另一台服务器上
由于我们出差,需要把svn服务器上的代码同步到我电脑上,自己各种百度折腾了快一天才弄好,下面来分享下我的具体思路和操作步骤。
有2种方式:
第一种方式:直接将本地自己dowm下来的代码导入到本地svn服务器上。(缺陷是:没有把版本号同步上来,这种领导说不行,也不建议用这种方式)
第二种方式:操作原始svn服务器,将原始svn服务器上需要导出的仓库进行备份,文件以dump的方式呈现。(这种方式更合适)
备份思路是:
第一步:将准备要迁移的仓库导出 svnadmin dump
第二步:在目标服务器上创建新的仓库
第三步:导入刚才导出的dump文件 svnadmin load
关键词:
原始仓库 备份仓库 原始仓库存放路径 备份仓库存放路径
将备份仓库文件拷贝到目标服务器上,然后进行导入操作
具体操作步骤:
1.找到装有原始svn服务器,然后找到VisualSVN Server的安装目录下的bin文件夹,将其拷贝
C:\Program Files\VisualSVN Server\bin
2.打开cmd命令,输入cd 刚才拷贝的bin文件夹的路径,回车
cd C:\Program Files\VisualSVN Server\bin
3.输入svnadmin dump 原始仓库存放路径 >备份仓库将要存放的路径(以dump的格式进行保存地址)
C:\Program Files\VisualSVN Server\bin>sanadmin dump C:\Repositories\jyjf >d:\svntest\test.dump
d:\svntest是自己在D盘新建的文件夹
4.打开目标服务器,找到VisualSVN Server的安装目录下的bin文件夹,将其拷贝
打开cmd命令,输入cd 拷贝的bin文件夹的路径,回车
5.输入 Svnadmin load 将要导入版本库的地址(新服务器版本库的地址) <刚才从原始服务器上拷贝的dump文件存放路径\*.dump
C:\Program Files\VisualSVN Server\bin>svnadmin load C:\Repositories\jyjf <d:svntest\test.dump
以上是关于把一台电脑的svn 工作代码到另一台电脑上。svn cleanup,svn revert等操作很慢?的主要内容,如果未能解决你的问题,请参考以下文章
svn 从一个版本库中导出子目录 到另一台电脑资源库的同一个子目录下
如何把一台电脑中noteexpress中的题录、附件、笔记等数据转移到另一台电脑?