SVN导入导出DUMP及注意事项

合集下载

svndumpfilter exclude 的用法

svndumpfilter exclude 的用法

svndumpfilter exclude 的用法svndumpfilter exclude是一个SVN命令行工具,用于从一个SVN仓库的dump文件中排除指定的路径或者文件。

使用语法如下:
svndumpfilter exclude <路径或文件1> [<路径或文件2> ...] <输入dump文件> <输出dump文件>
其中,路径或文件参数用于指定要排除的路径或文件,可以指定多个。

输入dump 文件和输出dump文件分别为输入和输出的dump文件路径。

示例:
1. 排除一个路径:
svndumpfilter exclude /trunk/mydirectory < input.dmp > output.dmp
将输入dump文件input.dmp中的路径/trunk/mydirectory排除掉,输出到output.dmp中。

2. 排除多个路径:
svndumpfilter exclude /trunk/mydirectory /branch/mydirectory < input.dmp > output.dmp
将输入dump文件input.dmp中的路径/trunk/mydirectory和
/branch/mydirectory排除掉,输出到output.dmp中。

注意事项:
- 使用该命令修改dump文件时,应备份原始dump文件,以免意外操作导致数据丢失。

- 使用该命令排除路径或文件后,得到的dump文件可能无法直接导入新的SVN仓库,可能需要进一步处理才能成功导入。

SVN服务器与客户端的数据迁移步骤

SVN服务器与客户端的数据迁移步骤

SVN服务器与客户端的数据迁移步骤:一、原服务端:1.创建一个备份文件夹如:D:\svn_back2.进入cmd,cd命令到你的svn服务器安装目录的bin文件下,本人的安装目录在C:\Program Files\VisualSVN Server\bin 则输入:cd C:\Program Files\VisualSVN Server\bin(进入原服务器的svn安装目录)3.cmd命令行继续输入svnadmin dump E:\SVN\Repositories\ Development > D:\svn_back\svncope.dumpE:\SVN\Repositories\ Development是svn项目工程目录文件夹4.执行完毕之后,可以在D:\svn_bak 文件中找到备份好的文件,格式为svncope.dump注意:若SVN版本过多,svncope.dump文件生成需耐心等待二、新服务器端:1.根据系统(32位/64位)安装对应版本的TortoiseSVN和VisualSVN2.创建一个备份文件夹如:D:\svncope3.将svncope.dump文件拷贝到新服务器的备份文件夹里,如目录为D:\svncope\svncope.dump4.进入cmd,cd命令到你的svn服务器安装目录的bin文件下,本人的安装目录在C:\Program Files\VisualSVN Server\bin 则输入:cd C:\Program Files\VisualSVN Server\bin(进入新服务器的svn安装目录)5.cmd命令行继续输入svnadmin create D:\Repositories\svndatabackD:\Repositories\svndataback是svn项目工程目录文件夹(这个是在新服务器端创建SVN服务器的svndataback项目)6.cmd命令行继续输入svnadmin load D:\Repositories\svndataback < D:\svncope\svncope.dump (这个是将源服务器上导出的版本库,导入到现在的服务器上。

SVN跨平台版本的迁移

SVN跨平台版本的迁移

SVN跨平台版本的迁移1 引言1.1 目的方便进行跨平台的程序版本控制1.2 运行环境Windows XP + Ubuntu 11.102 方法2.1 Linux->Linux1)首先转储数据到文件上Svnadmin dump /home/fanghd/svn/drug > /home/fanghd/new_dump2) 把生成的new_dump文件拷贝到想转储的电脑上3) 把文件转入到版本库中Svnadmin load /home/fanghd/svn/drug < /home/fanghd/new_dump如果想把数据转储到版本库中特定的文件下使用如下命令Svnadmin load /home/fanghd/svn/drug --parent-dir father/child < /home/fanghd/new_dump2.2 Linux->windows XP1)在windows 平台下安装好 visualSVN Server2)从visualSVN Server面板上打开命令行窗口3)获得从Linux下转储的数据文件,详细方法参看第一项的内容4)把文件转入到版本库中Svnadmin load “d:\Repositories\Test” < “d:\new_dump”如果想把数据转储到版本库中特定的文件下使用如下命令Svnadmin load “d:\Repositories\Test”--parent-dir father\child<“d:\new_dump”2.3 Windows XP->Linux1)把要转储的数据输出到转储文件上Svnadmin dump “d:\Repositories\Test” > “d:\new_dump”2)把文件拷贝到目标机内3)余下步骤参照第ⅰ步内的示范3 特殊实例3.1 假设当前我的版本库中有三个项目cal1,cal2,和cal3,现在要把这三个项目转移到三个独立的版本库中。

svn导出代码

svn导出代码

在SVN(Subversion)中,使用svn export命令可以导出代码仓库中的某个版本或者工作副本的指定目录,而不包括SVN 的元数据信息(如 .svn 文件夹)。

以下是一些基本的用法:
1. 导出最新版本的代码:
这将从仓库的trunk 目录导出最新版本的代码到本地指定的目录。

2. 导出特定版本的代码:
使用-r 选项指定要导出的修订版本号。

例如,-r 123 将导出版本123 的代码。

3. 导出工作副本的代码:
如果你已经在本地有一个工作副本,你可以直接从这个工作副本导出代码。

4. 导出时不覆盖已存在的文件:
使用--force 或-f 选项可以在目标目录已存在的情况下强制覆盖文件。

请根据你的具体需求修改上述命令中的URL和路径。

在运行命令前,确保你有权访问SVN 仓库并且有足够的磁盘空间来存储导出的代码。

如何彻底删除SVN中的文件和文件夹(附恢复方法)

如何彻底删除SVN中的文件和文件夹(附恢复方法)

如何彻底删除SVN中的⽂件和⽂件夹(附恢复⽅法)这⾥假设SVN项⽬的⽬录为 /data/svn/project,我们想排除trunk/test.exe⽂件和trunk/notallowed/⽬录,操作步骤如下及执⾏的svn命令(在svn安装⽬录的bin⽬录下)如下:# ⾸先将svn库整个导出svnadmin dump /data/svn/project > project_original.dump# 然后将project_original.dump⽂件⾥⾯不需要的⽂件进⾏排除并⽣成⼀个新的dump⽂件type project_original.dump | svndumpfilter exclude trunk/test.exe trunk/notallowed > project_new.dump# 接下来创建⼀个新的svn项⽬并将上⾯的dump⽂件导⼊到⼀个新的项⽬中svnadmin create /data/svn/project_newsvnadmin load /data/svn/project_new < project_new.dump最后将原来的project⽬录删除并将project_new修改成project即可。

需要注意的是dump命令会将svn项⽬中的所有修改和历史记录都导出来,这样导出的dump⽂件会很⼤,⽽且导⼊的时间也⽐较长。

从服务器端彻底删除SVN版本库中部分⽂件夹或⽂件若要彻底删除SVN版本库某⼀⽂件夹或⽂件,可采取这种⽅法(举例说明):例:假设SVN库路径为E:/svn/project,库中的⽬录结构为QA/TrunkSoftware/Tags/test.exe删除Software/Tags/⽬录下的test.exe⽂件操作步骤为:把SVN库dump出来使⽤svndumpfilter过滤掉要删除的⽂件新建⼀个SVN库再将处理好的⽂件load到新的SVN库⾥具体命令为:>svnadmin dump E:/svn/project > aaa.dump>type aaa.dump | svndumpfilter exclude /Software/Tags/test.exe > bbb.dump>svnadmin create E:/svn/project_new>svnadmin load E:/svn/project_new < bbb.dump然后再将新建的project_new 重命名为project,以前的project可以移⾛,或是另取⼀个名称.(因为在TRAC中使⽤的SVN⽬录是project,⽤户所使⽤的SVN⽬录也是project)此⽅法在SVN库⾥版本不多的情况下完全可以达到彻底删除SVN版本库某⼀⽂件夹或⽂件的效果,但是如果SVN库⾥的版本过多,在dump版本的时候会因存储空间不⾜,⽽⽆法dump版本.也就⽆法操作了.这时须另挂能满⾜其存储空间的硬盘操作.SVN如何恢复已删除⽂件或⽂件夹⽤TortoiseSVN:1.在本地working copy中,⽤TortoiseSVN->Show log查看版本库的历史记录。

SVN目录带日志迁徙流程

SVN目录带日志迁徙流程

SVN目录带日志迁徙流程
1,登入SVN服务器所在电脑。

2,“运行”输入CMD,打开控制台窗口。

3,进入SVN数据所在的目录,cd D:\SVNRepositories
4,导出某个版本库的数据到文件,svnadmin dump reposA/ > e:\dump\reposA.dmp
5,将导出的版本库数据导入到新的版本库:
a)将reposA所有数据都导入到reposB中(首先需确认用户对reposB是否有修改权限,
否则会报“db\txn-current-lock”错误):
svnadminload reposB< e:\dump\reposA.dmp
b)将reposA所有数据都导入到reposB的子目录Test中:
svnadminload reposB–parent-dir Test < e:\dump\reposA.dmp
c)将reposA中某个子目录(比如src)的数据导入到reposB中:
●首先要将reposA.dmp进行过滤,
svndumpfilter include src/ <e:\dump\reposA.dmp > e:\dump\src.dmp
●然后再导入过滤后的dump文件,
svnadmin load reposB< e:\dump\src.dmp
备注:如果在reposA中,有目录A1和B1,在目录A1中,有子目录A2,
而A2并非通过正常方式创建,而是从目录B1中使用copy过来的,则A1目录会对B1目录产生依赖的联系。

如果希望将A1目录导入到reposB中,则需要将B1目录连带一起导入到reposB中。

SVN迁移及备份的方法【转】

SVN迁移及备份的方法【转】

SVN迁移及备份的⽅法【转】备份策略==============svn备份⼀般采⽤三种⽅式:1)svnadmin dump2)svnadmin hotcopy3)svnsync.注意,svn备份不宜采⽤普通的⽂件拷贝⽅式(除⾮你备份的时候将库暂停),如copy命令、rsync命令。

笔者曾经⽤ rsync命令来做增量和全量备份,在季度备份检查审计中,发现备份出来的库⼤部分都不可⽤,因此最好是⽤svn本⾝提供的功能来进⾏备份。

优缺点分析==============第⼀种svnadmin dump是官⽅推荐的备份⽅式,优点是⽐较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。

缺点是:如果版本⽐较⼤,如版本数增长到数万、数⼗万,那么dump的过程将⾮常慢;备份耗时,恢复更耗时;不利于快速进⾏灾难恢复。

个⼈建议在版本数⽐较⼩的情况下使⽤这种备份⽅式。

第⼆种svnadmin hotcopy原设计⽬的估计不是⽤来备份的,只能进⾏全量拷贝,不能进⾏增量备份;优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚⾄不需要恢复,只需要进⾏简单配置即可切换到备份库上⼯作。

缺点是:⽐较耗费硬盘,需要有较⼤的硬盘⽀持(俺的备份机有1TB空间,呵呵)。

第三种svnsync实际上是制作2个镜像库,当⼀个坏了的时候,可以迅速切换到另⼀个。

不过,必须svn1.4版本以上才⽀持这个功能。

优点是:当制作成2个镜像库的时候起到双机实时备份的作⽤;缺点是:当作为2个镜像库使⽤时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样⼦”;⽽当作为普通备份机制每⽇备份时,操作⼜较前2种⽅法⿇烦。

备份的命令==============全备份:使⽤svnadmin dump或svnadmin hotcopy或svnsync来做,hotcopy:svnadmin hotcopy path/to/repository path/to/backup –clean-logsdump:svnadmin dump 版本库路径及名称 –revision 导出的版本号> 导出的命名增量备份:使⽤svnadmin dump的–incremental选项来实现svnadmin dump 版本库路径及名称 –revision 上次导出的版本号:到本次要导出到的版本号 –incremental > 导出的命名⼀个技巧:如果你有⼀个较⼤的Subsersion版本库⽽你⼜想⽤最少的空间来将它备份下来,⽤这个命令(请将/repo替换成你的版本库路径)吧:svnadmin dump –deltas /repo |bzip2 |tee dump.bz2 | md5sum >dump.md5分步解释:最重要的⼀步是 -deltas,将消耗更多的CPU资源,但拥有更有效的差异存储办法。

svn用户操作手册

svn用户操作手册

svn用户操作手册SVN(Subversion)是一个版本控制系统,用于管理文件的版本和变更历史。

以下是SVN用户操作手册:1. 检出代码:打开控制台,输入“svn checkout [服务目录] [本地目录全路径] --username 用户名 --password 密码”。

其中,[服务目录]是你要检出的代码所在的SVN仓库地址,[本地目录全路径]是你要将代码检出到的本地路径。

2. 添加新文件:使用“svn add 文件名”命令将新文件添加到版本库中。

如果要添加多个文件,可以使用通配符“.扩展名”来批量添加,例如“svn add .txt”将添加所有扩展名为.txt的文件。

3. 提交修改:使用“svn commit -m 提交信息”命令将修改的代码提交到仓库中。

其中,“-m”参数后面跟着提交信息,简要描述你做了哪些修改。

4. 更新代码:使用“svn update”命令将当前目录以及子目录下的所有文件都更新到最新版本。

如果要更新特定文件,可以使用“svn update [文件路径]”命令。

5. 比较代码:使用“svn diff”命令比较当前文件与版本库中的文件差异。

如果要比较不同版本的差异,可以使用“svn diff -r [版本号] [文件路径]”命令。

6. 分支操作:创建分支使用“svn copy [源路径] [目标路径] -m 创建分支信息”。

其中,[源路径]是你要创建分支的分支或主线的位置,[目标路径]是分支的名称。

合并分支使用“svn merge [源分支路径] [目标分支路径]”。

其中,[源分支路径]是要合并的分支的路径,[目标分支路径]是合并的目标位置。

7. 查看历史记录:使用“svn log [文件或目录路径]”命令查看指定文件或目录的历史记录。

8. 标签操作:创建标签使用“svn copy [源路径] [目标路径] -m 创建标签信息”。

其中,[源路径]是你要创建标签的分支或主线的位置,[目标路径]是标签的名称。

svn的常见操作

svn的常见操作

svn的常见操作一、svn简介Subversion(简称svn)是一个开源的版本控制系统,可以有效地管理和追踪文件的变更历史。

它广泛用于软件开发项目中,使团队成员可以协同工作并保持代码的一致性。

二、svn的基本操作1. 检出代码:使用svn checkout命令从远程仓库获取代码副本到本地工作目录。

例如:svn checkout svn://localhost/project。

2. 更新代码:使用svn update命令从远程仓库获取最新的代码变更并更新到本地工作目录。

例如:svn update。

3. 提交代码:使用svn commit命令将本地工作目录中的代码变更提交到远程仓库。

例如:svn commit -m "提交代码"。

4. 查看代码状态:使用svn status命令查看本地工作目录中文件的状态,包括已修改、已删除、已添加等。

例如:svn status。

5. 添加文件:使用svn add命令将本地工作目录中的新文件添加到版本控制中。

例如:svn add file.txt。

6. 删除文件:使用svn delete命令将本地工作目录中的文件删除,并将删除操作提交到版本控制中。

例如:svn delete file.txt。

7. 撤销文件修改:使用svn revert命令将本地工作目录中文件的修改还原为最近一次更新或提交的状态。

例如:svn revert file.txt。

8. 查看文件差异:使用svn diff命令查看本地工作目录中文件的差异,即与版本库中对应文件的差异。

例如:svn diff file.txt。

9. 查看文件日志:使用svn log命令查看文件的提交日志,包括每次提交的作者、日期和提交信息。

例如:svn log file.txt。

10. 创建分支:使用svn copy命令创建一个文件或目录的副本,以便进行独立的开发工作。

例如:svn copy file.txt file_branch.txt。

svnadmin 参数

svnadmin 参数

svnadmin 参数svnadmin是Subversion版本控制系统的一个命令行工具,它用于管理和维护Subversion仓库。

本文将介绍svnadmin的常用参数及其作用。

一、svnadmin create:创建一个新的Subversion仓库。

使用该参数可以在指定的路径下创建一个干净的仓库,该仓库可以用来存储项目的版本历史和文件。

二、svnadmin hotcopy:创建一个仓库的完全备份。

使用该参数可以将一个仓库的所有数据和历史版本完全复制到另一个位置,以防止数据丢失或仓库损坏。

三、svnadmin dump:导出仓库的历史记录。

使用该参数可以将仓库的历史版本导出为一个可读的文本文件,以便备份、迁移或查看仓库的历史记录。

四、svnadmin load:导入历史记录到仓库。

使用该参数可以将之前使用svnadmin dump导出的历史记录文件导入到一个新的仓库中,以恢复或合并版本历史。

五、svnadmin verify:验证仓库的完整性。

使用该参数可以对仓库进行完整性检查,以确保仓库中的文件和历史记录没有损坏或丢失。

六、svnadmin upgrade:升级仓库的格式。

使用该参数可以将旧版本的仓库升级到Subversion的最新版本,以获得更好的性能和功能。

七、svnadmin recover:修复损坏的仓库。

使用该参数可以尝试修复一个损坏的仓库,以便继续正常使用。

八、svnadmin lstxns:列出未完成的事务。

使用该参数可以列出仓库中未完成的事务,以便进行处理或清理。

九、svnadmin rmtxns:删除未完成的事务。

使用该参数可以删除仓库中未完成的事务,以解决事务卡死或其他问题。

十、svnadmin setlog:设置提交日志。

使用该参数可以为仓库中的某个版本设置提交日志,以便更好地记录和管理版本的变更。

十一、svnadmin setuuid:设置仓库的唯一标识符。

使用该参数可以设置仓库的唯一标识符,以便与其他仓库进行区分。

linux的svn迁移事项

linux的svn迁移事项

linux的svn迁移事项
将SVN迁移到Linux系统上可能涉及以下事项:
1. 安装SVN服务:在Linux系统上安装SVN服务,可以使用包管理工具或从SVN官网下载源代码进行编译安装。

2. 导出旧的SVN仓库:使用旧的SVN服务将仓库导出为SVN格式或SVN备份格式。

3. 导入仓库到新的SVN服务:将导出的仓库导入到新的SVN服务中。

可以使用svnadmin命令进行导入。

4. 迁移配置文件:将旧的SVN服务的配置文件转移到新的SVN服务中,以保留原有的设置和权限。

5. 迁移钩子脚本:将旧的SVN服务的钩子脚本转移到新的SVN服务中,以保留原有的自定义操作。

6. 更新客户端配置:在Linux系统上的SVN客户端中更新配置文件,以指向新的SVN服务。

7. 迁移用户认证信息:如果旧的SVN服务使用了用户认证机制,需要将用户认
证信息迁移到新的SVN服务中。

8. 测试和验证:迁移完成后,通过测试和验证确保SVN仓库在新的Linux系统上正常运行,并且所有之前的提交和版本历史仍然可用。

请注意,在执行所有操作之前,请务必备份旧的SVN仓库,以防止意外情况发生。

SVN库迁移整理方法总结

SVN库迁移整理方法总结

SVN库迁移整理方法总结前段时间对项目SVN库做整理, 顺带再次研究了下SVN迁移的方式,整理如下:SVN数据库迁移方法一称之为SVN全库操作,或称SVN全局备份并恢复,版本库数据的移植:svnadmin dump、svnadmin load导出:$svnadmin dump repos > dumpfile //将指定的版本库导出成文件dumpfile新建:$svnadmin create newrepos导入:$svnadmin load newrepos < dumpfileSVN数据库迁移方法二增量备份或批次备份,批次恢复,特定reversion导出:$svnadmin dump repos –r 23 >rev-23.dumpfile //将version23导出$svnadmin dump repos –r 100:200 >rev-100-200.dumpfile //将version100~200导出批次导出:对比较大的库可以批次导出,便于备份$svnadmin dump repos –r 0:1000 >0-1000.dumpfile$svnadmin dump repos –r 1001:2000 --incremental >1001-2000.dumpfile$svnadmin dump repos –r 2001:3000 --incremental >2001:3000.dumpfile批次导入,将这几个备份文件装载到一个新的版本库中$svnadmin load newrepos < 0-1000.dumpfile$svnadmin load newrepos < 1001-2000.dumpfile$svnadmin load newrepos < 2001:3000.dumpfileSVN数据库迁移方法三导出后,在导入时对库做分库整理或其它整理操作过滤版本库历史:假设有一个包含三个项目的版本库:calc,calendar,和spreadsheet。

svn 迁移 拷贝方式

svn 迁移 拷贝方式

svn迁移拷贝方式一、概述版本控制系统(Version Control System,VCS)是开发团队中必不可少的工具之一。

其中,Subversion(简称svn)是一款流行的集中式版本控制系统,被广泛应用于软件开发过程中。

在软件开发中,迁移svn仓库并拷贝代码是一项常见的任务。

本文将介绍svn迁移的意义、常见的迁移方式以及注意事项。

二、svn迁移的意义随着项目的发展和需求的变化,可能需要将svn仓库从一个服务器迁移到另一个服务器,或者从一个svn服务提供商迁移到另一个服务提供商。

迁移svn仓库可以带来以下几点好处:1.性能优化:迁移到新的服务器或服务商可以提供更好的性能和响应速度,提高开发效率。

2.稳定性提升:可能旧的服务器或服务商存在稳定性问题,迁移可以解决这些问题,提升系统稳定性。

3.成本降低:某些新的svn服务提供商可能提供更具竞争力的价格,迁移可以降低版本控制的成本。

4.功能扩展:如果需要使用新的功能或者集成其他工具,迁移可以满足这些需求。

因此,svn迁移是一个具有重要意义的任务,需要谨慎规划和执行。

三、常见的svn迁移方式在迁移svn仓库时,有多种方式可供选择。

常见的svn迁移方式包括以下几种:1. svnsync方式svnsync是svn自带的一种复制方式,用于将一个svn仓库完全复制到另一个仓库。

这种方式适用于简单的仓库迁移,但需要确保目标仓库与源仓库兼容,并且源仓库是只读的。

2. svnsync + dump/load方式这种方式结合了svnsync和dump/load命令。

首先使用svnsync复制源仓库到目标仓库,然后使用dump/load命令导出和导入源仓库的历史记录。

这种方式适用于在迁移过程中需要进行一些变更的情况,如更改仓库结构、删除某些文件等。

3. svnadmin dump/load方式这种方式是将源仓库导出为一个数据备份(dump)文件,然后再将该文件导入到目标仓库中。

数据库导入与导出的方法与注意事项

数据库导入与导出的方法与注意事项

数据库导入与导出的方法与注意事项数据库是存储和管理数据的重要工具之一,对于使用数据库的人来说,数据库导入和导出是一项基本操作。

数据库导入和导出功能允许用户将数据从一个数据库迁移到另一个数据库,或从数据库导出到其他应用程序进行处理。

在进行数据库导入和导出时,有一些方法和注意事项需要我们了解和掌握。

一、数据库导出方法与注意事项1. 选择导出格式:数据库导出的格式通常有多种选择,如CSV、SQL脚本、Excel等。

根据自己的需求选择合适的导出格式,确保导出的数据可以被其他应用程序正确读取和处理。

2. 导出选定的表或整个数据库:在进行数据库导出前,需要明确导出的范围是选定的某些表还是整个数据库。

如果只需要导出部分数据,可以选择需要导出的表并进行设置。

3. 导出数据的筛选:在某些情况下,我们只需要导出符合一定条件的数据。

数据库导出功能通常提供了筛选条件的设置,可以根据自己的需求设定导出数据的筛选条件。

4. 导出数据的分隔符和字符编码:导出数据时,需要选择合适的分隔符,以便数据可以被其他应用程序正确分隔。

同时,选择正确的字符编码也是保证导出数据正确性的重要一步。

5. 导出数据的顺序:某些情况下,我们需要按照特定的顺序导出数据。

在数据库导出功能中,通常提供了数据排序的选项,可以根据自己的需求设置导出数据的顺序。

6. 导出数据的频率和定时导出:有些场景需要定时导出数据库数据,以备份数据或进行其他操作。

数据库导出功能通常提供了定时导出的选项,可以根据需求设定导出数据的频率和时间。

7. 导出完成后的数据校验:导出数据后,应该进行数据校验以确保导出的数据完整和准确。

通常可以通过对比导出前和导出后的数据进行比对,或者通过其他检验手段进行数据校验。

二、数据库导入方法与注意事项1. 选择导入数据的格式:与数据库导出相对应,数据库导入时也需要选择合适的数据格式。

导入数据的格式需与导出数据的格式相匹配,确保数据的一致性和正确性。

SVN服务器与客户端的数据迁移步骤

SVN服务器与客户端的数据迁移步骤

SVN服务器与客户端的数据迁移步骤SVN服务器与客户端的数据迁移步骤:一、原服务端:1.创建一个备份文件夹如:D:\svn_back2.进入cmd,cd命令到你的svn服务器安装目录的bin文件下,本人的安装目录在C:\Program Files\VisualSVN Server\bin 则输入: cd C:\Program Files\VisualSVN Server\bin(进入原服务器的svn安装目录)3.cmd命令行继续输入svnadmin dump E:\SVN\Repositories\ Development > D:\svn_back\svncope.dumpE:\SVN\Repositories\ Development是svn项目工程目录文件夹4.执行完毕之后,可以在D:\svn_bak 文件中找到备份好的文件,格式为svncope.dump注意:若SVN版本过多,svncope.dump文件生成需耐心等待二、新服务器端:1.根据系统(32位/64位)安装对应版本的TortoiseSVN和VisualSVN2.创建一个备份文件夹如:D:\svncope3.将svncope.dump文件拷贝到新服务器的备份文件夹里,如目录为D:\svncope\svncope.dump4.进入cmd,cd命令到你的svn服务器安装目录的bin文件下,本人的安装目录在C:\Program Files\VisualSVN Server\bin 则输入: cd C:\Program Files\VisualSVN Server\bin(进入新服务器的svn安装目录)5.cmd命令行继续输入svnadmin create D:\Repositories\svndatabackD:\Repositories\svndataback是svn项目工程目录文件夹(这个是在新服务器端创建SVN服务器的svndataback项目)6.cmd命令行继续输入svnadmin load D:\Repositories\svndataback < D:\svncope\svncope.dump (这个是将源服务器上导出的版本库,导入到现在的服务器上。

svn常见问题及解决

svn常见问题及解决

subversion(SVN)常见问题及其解决方法1. 隐藏文件.svn目录删除了怎么办Checkout后,工作空间下.svn目录下有大量隐藏文件,占用比较大的空间,他们是工作空间的管理文件,不能删除,如果不小心删除了也不要抓狂,不会影响服务器端的,重新checkout就又可以工作了。

如果想不包含这些隐藏文件导出,可以用TSVN菜单里的export 完成。

2.文件名大小写问题,在下载代码时,下载到一半,系统提示不能找到……文件,提示Can't copy"……"to"……"系统找不到指定文件该问题很可能是因为上传了大小写不同的同名文件,在Repo-Browser里找到同名文件删除一个就好了。

(该问题曾经困惑过好长时间,解决了是如此简单)3..can’t connect to host …………(1),服务器有没有运行,有没有打开相应端口如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口(我们用的是这个,端口是9999)如果服务器是apache,检查apahce是否运行,是否打开80端口检查时可以在服务器运行netstat -na看看相应端口是否在LISTEN(2),防火墙有没有开放相应端口(3),客户端是否可以连接服务器的相应端口使用命令telnet 服务器IP 相应端口如:telnet 192.168.0.1 99994. 路径或权限不足时将出现错误信息提示:http://localhost (路径不对)Error * PROPFIND request failed on '/' PROPFIND of '/': 200 OK (http://localhost)http://localhost/svn (权限不足)Error * PROPFIND request failed on '/svn' PROPFIND of '/svn': 403 Forbidden (http://localhost)http://localhost/svn/repos (正常显示)http://localhost/repos (权限不允许)Error * PROPFIND request failed on '/repos' PROPFIND of '/repos': 405 Method Not Allowed (http://localhost)解决办法是填写正确的路径或给予适当的权限。

svn 数据迁移 方案

svn 数据迁移 方案

svn 数据迁移方案迁移SVN(Subversion)数据通常涉及将版本控制系统的仓库、历史记录等内容从一个环境迁移到另一个环境。

下面是一个基本的SVN 数据迁移方案的概述:1.备份原始 SVN 仓库:在进行迁移之前,务必创建原始 SVN 仓库的备份。

这是防止在迁移过程中出现问题时能够回滚到原始状态的关键步骤。

svnadmin dump /path/to/original_repo > original_repo_backup.dump2.设置新的 SVN 仓库:在目标环境中创建新的 SVN 仓库。

svnadmin create /path/to/new_repo3.还原备份到新的 SVN 仓库:将原始 SVN 仓库的备份还原到新的 SVN 仓库中。

svnadmin load /path/to/new_repo < original_repo_backup.dump4.修改仓库配置(可选):在新的仓库中可能需要对配置进行一些修改,这取决于迁移的具体情况。

例如,如果原始仓库使用了钩子脚本,需要确保在新仓库中重新配置。

5.更新工作副本:在进行迁移后,用户的工作副本需要更新以与新仓库同步。

可以通过以下命令在工作副本中进行更新:svn switch --relocate old_repo_url new_repo_url注意事项:版本号处理: SVN 仓库中的版本号可能会发生变化。

在迁移后,需要通知团队并确保所有相关方了解版本号的变化。

外部依赖项:如果原始 SVN 仓库中使用了外部依赖项,确保它们在新仓库中也得到了正确的配置。

权限和用户信息:确保在迁移过程中处理好权限和用户信息,以确保与原始仓库相同的访问和权限设置。

请注意,上述步骤是一个通用的迁移方案,具体的实施可能会根据具体的情况和要求有所调整。

在进行 SVN 数据迁移之前,请务必详细阅读 Subversion 文档,并根据具体需求调整迁移方案。

SVN备份还原操作手册

SVN备份还原操作手册

SVN备份还原操作手册一、命令备份1.svnadmin dump全量备份进入SVN服务端安装目录下运行svnadmin dump命令(C:/Repositories/QA为SVN库中项目目录,full.svn.bak为备份文件名)2.svnadmin dump增量备份(以增量把版本库8转存到svn.bak.1,-r [--revision] :指定版本;--incremental :以增量方式进行转存)3.svnadmin dump还原(先创建一个新的版本库,再还原完全备份,有增量备份的再还原增量备份)(进入SVN服务端安装目录下调用命令创建test测试库)4.运行svnadmin load还原命令(增量还原同全量还原)二、脚本备份(针对项目库备份)1.svnadmin dump全量备份脚本(在SVN库中添加全量备份脚本backup.bat,需要安装对应的压缩工具)2.脚本内容rem Subversion的安装目录set SVN_HOME="C:\ProgramFiles\VisualSVNServer"rem 所有版本库的父目录set SVN_ROOT=C:\Repositoriesrem 备份的目录set BACKUP_SVN_ROOT=C:\bakrem 创建存放版本库的临时目录setBACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,4%%date:~5,2%%date:~8,2% if exist %BACKUP_DIRECTORY% goto checkBackecho %date:~0,4%%date:~5,2%%date:~8,2%:建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.logrem SVN 版本库自动备份时需要rem创建备份目录md %BACKUP_DIRECTORY%cd C:\Program Files\VisualSVN Server\bin\svnadmin.exedump C:\Repositories\QA > %BACKUP_DIRECTORY%\FINANCE%date:~0,10%rem 验证目录是否为版本库,如果是则取出名称备份rem for /r%SVN_ROOT%%%I in(.)do@ifexist"%%I\conf\svnserve.conf"call%SVN_ROOT%\simpleBackup.bat"%%~fI"%%~nI echo 开始压缩版本库,请不要中止....rem %SVN_ROOT%\7z.exea-tzip%BACKUP_SVN_ROOT%\%date:~0,4%%date:~5,2%%date:~8 ,2%.zip%BACKUP_DIRECTORY%\*-r>nulecho 版本库压缩完成!rem 清除临时创建备份目录rem rd/s/q%BACKUP_DIRECTORY%goto end:checkBackecho 备份目录%BACKUP_DIRECTORY%已经存在,请清空。

SVN版本库的迁移

SVN版本库的迁移

SVN版本库的迁移方案一、一次全部迁移首先新建三个批处理文档(新建记事本,后缀改为.bat)①导出.batsvnadmin dump progect > dumpfile②新建版本库.batsvnadmin create newProgect③导入.batsvnadmin load newProgect < dumpfile步骤:如果你的SVN装在C:\program files下,那么:a、将“导出.bat”放在原库目录下,即progect 所在目录下(例如E:\progect),双击执行,导出版本库!b、将“新建版本库.bat”放在新库目录下,即newProgect 要放的位置(例如D:\progect),双击执行,新建版本库!c、将“导入.bat”放到新库目录下(例如刚才的E:\progect),双击执行,导入版本库!如果你的SVN不是装在上述位置,那么:这三个批处理文件,要全部放在SVN安装目录的Bin目录下,而且也不能单纯的写文件名就可以了,要写完整的文件名。

例如svnadmin dump E:\SVN版本库\progect > E:\dumpfile说明:上述步骤即实现将progect 版本库无损迁移到newProgect。

这里是采用批处理文件的形式,完全可以在命令提示符窗口下,以命令的形式完成上述操作,注意必须在相应的目录下执行。

方案二、分批增量迁移版本库①查看当前旧版本库最新的版本号是多少在命令提示符窗口,打开库所在目录,例如:cd E:\progect。

执行svnlook youngest progect例如返回版本为281②分批增量导出版本库内容E:\Repositories\svnadmin dump progect -r 0:100 > dumpfile1导出第一个文件,版本号从0到100的修订版本E:\Repositories\svnadmin dump progect -r 101:200 --incremental >dumpfile2导出第二个文件,版本号从101到200的修订版本E:\Repositories\svnadmin dump progect -r 201:281 --incremental >dumpfile3导出第三个文件,版本号从201到281的修订版本注:三个命令中第2,3个命令多了一个--incremental的参数,使其采用了增量的方式导出首先导入dumpfile1,然后是dumpfile2,dumpfile3 依次执行D:\Repositories\svnadmin load newProgect < dumpfile1D:\Repositories\svnadmin load newProgect < dumpfile2D:\Repositories\svnadmin load newProgect < dumpfile3可能会出现的问题,提示错误:版本库文件已经存在。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#SVN导出导入命令
#首先进入SVNServer的bin目录下
#1.导出全量库
svnadmin dump d:\[导出库的文件路径] >F:\[导出名称].dump
#2.导出增量库
svnadmin dump d:\[导出库的文件路径] -r [起始版本号:终点版本号] --incremental >F:\[导出名称].dump
#3.导入库(不区分全量、增量)
svnadmin load d:\[导入库的文件路径] <F:[被导入文件路径].dump
#其他
1.导入到新库时新库必须存在
2.被导入库及被导入文件版本号必须连接,如被导入库当前版本为10,则被导入文件版本号必须从11开始。
#测试
1.如果被导入库的版本号与被导入文件的版本号可连接,如被导入库当前版本为10,而被导入文件为11到12版,则被导入库可正常被更新为12版;
2.如果被导入库的版本号与被导入文件的版本号不可连接,如被导入库当前版本为10,而被导入文件为12到12版,则被导入库版本更新为11,本更新的文件为导入文件里的12版
3.如果被导入库的版本号与被导入文件 Nhomakorabea版本号重叠,如被导入库当前版本为10,而被导入文件为10到12版,则被导入库版本更新为13,被导入文件里的第10号也被当作新的版本
相关文档
最新文档