我有以下SVN结构:
ExistingRepository1
ExistingRepository2
所以我已经读过这个问题:如何将一个文件夹从一个Subversion存储库移动到另一个存储库? 但在我的情况下,ExistingRepository2已经存在.那我该怎么办呢?我希望在新项目中进行所有修订.
例如,我有修订号1000 ExistingRepository1 -> MyFolder -> FolderToMove,但是ExistingRepository1已经有一个编号为1000的修订版.那么,它会svn load做什么?它会自动移动修订号吗?
这些将是命令:
svnadmin dump /svn/ExistingRepository1 > ./repository.dump
svndumpfilter include MyFolder/FolderToMove --drop-empty-revs --renumber-revs --preserve-revprops < ./repository.dump > ./folderToMove_only.dump
svnadmin load /svn/ExistingRepository2 < ./folderToMove_only.dump
Run Code Online (Sandbox Code Playgroud)
提前感谢您的帮助,最诚挚的问候,蒂姆.
我必须svn存储库,让我们说A 和B.我想将B的一些目录与历史记录一起添加到A中.是否可以这样做.为了更清楚,以下是该方案.
repo A repo B
\branches \branches
\sub-branch1 \sub-branch B1
\sub-branch2 \sub-branch B2
\trunk \trunk
Run Code Online (Sandbox Code Playgroud)
我想做的是,在repo A的分支中添加sub-branch2.怎么办呢?
提前致谢
我已经开始将subversion转储加载到存储库中.在它完成之前,我耗尽了我的配额,命令停止了
<<<开始新的交易,基于原始修订版327*编辑路径:XXX/YYY/Makefile ...完成.svnadmin:无法写入文件'/XXX/db/txn-protorevs/2738-24o.rev':磁盘配额超出
我已经要求更多的配额,但现在我不知道如何继续进口.我应该简单地重做相同的命令吗?
svnadmin load --parent-dir Software/xxx_modules /XXX/YYY < ~/xxx.svn.dmp
Run Code Online (Sandbox Code Playgroud)
或者有没有办法在失败的修订版本重新启动导入(327)?
为了安全起见,我希望在从系统中删除当前存储库之前保留一个包含所有修订的特定文件夹(意味着我不想要存储库的其他信息,但是特定文件夹).所以我想创建一个新的存储库并将特定文件夹的内容复制到其中..可以吗?
我在尝试恢复从另一台机器上获取的svn存储库时遇到错误.错误是
svnadmin:转储流包含格式错误的标题(没有':')
转储是在subversion 1.5服务器上创建的,我正在加载到新的subversion 1.6服务器.我能够成功地将其他几个存储库加载到新服务器.新服务器是VisualSVN Server.
最近,我决定将我的svn存储库从v1.5升级到v1.6.运行升级命令后,我在CMD窗口中看到了消息.
D:\svn>svnadmin upgrade repo
Repository lock acquired.
Please wait; upgrading the repository may take some time...
Upgrade completed.
D:\svn>_
Run Code Online (Sandbox Code Playgroud)
雅!看起来很棒......但......我如何知道当前存储库的版本?是升级到v1.6还是v1.5.我有很少的存储库.我怎样才能找到他们的版本?
我一直在尝试在最初使用SVN 1.6创建的repos上运行svnadmin pack.但是,我看到没有输出表明命令正在做任何事情.是否会出现本机1.6回购自动发生分片打包的情况(而不是按需升级的回购)?我希望看到的输出是:
$ svnadmin pack /var/svn/repos
Packing shard 0...done.
Packing shard 1...done.
Packing shard 2...done.
…
Packing shard 34...done.
Packing shard 35...done.
Packing shard 36...done.
$
Run Code Online (Sandbox Code Playgroud)
但是我只是看到:
$ svnadmin pack /var/svn/repos
$
Run Code Online (Sandbox Code Playgroud)
我试图打包的回购有16个版本,我正在使用它作为测试回购,目的是打包> 1000转的其他回购
我遇到了 Apache Subversion 存储库的问题,我正在寻找最佳解决方案:
我无法提交到 Subversion 存储库,并且出现错误:
svn: E720002: Commit failed (详情如下): svn: E720002: Can't open file 'C:\Repositories\myproject\db\txn-current': 系统找不到指定的文件。
如果我创建一个空txn-current文件,如果在提交时会出现另一个错误:
svn: E070014: 提交失败 (详细信息如下): svn: E070014: 无法读取文件 'C:\Repositories\myproject\db\txn-current': End of file found
注意:假设我没有存储库的备份,因此我必须手动修复该问题。
StackOverflow 上已经讨论了相同的行为:svn commit problem, Cannot read 'd:\UC\db\txn-current': End of file found。但是我怀疑那里的答案是否真的有帮助:
我不认为\db\txn-current手动创建并放置一个0(或任何其他整数)是一个很好的解决方案。我想它可能会在不久的将来导致一些意想不到的行为,
svnadmin recover和/或svnadmin verify不创建和/或填充txn-current. 这些命令在这种情况下是无能为力的。
根据FSFS 描述 \db\txn-current文件包含下一个交易密钥号。如果我将一些整数放入文件,那么我可以提交并且整数将增加 1。
然而,看起来像放置一些不相关的整数会破坏我的回购中的某些东西,我不希望这种情况发生。
“txn-current”文件是一个仅包含一个 base-36 数字的单行文本文件。当前值将用于下一个事务名称,以及事务所基于的修订号。该序列号确保事务名称不会被重用,即使事务被中止并开始基于相同修订的新事务也是如此。FSFS 对这个文件执行的唯一操作是“get and increment”;“txn-current-lock”文件在此操作期间被锁定。
我应该怎么做才能\db\txn-current …
我有一个SVN存储库,其中包含一个或两个错误的版本.我需要摆脱他们!我打算使用svndumpfilter工具,它有一个exclude命令.但是,我无法弄清楚如何使用它来排除修订.每次我使用它,我最终都会Malformed dumpfile header出错.请参阅以下命令; 我想排除修订版23,代码是包含存储库的目录.
>svndumpfilter exclude 23 code
Excluding prefixes:
'/23'
'/code'
SVN-fs-dump-format-version: 2
<waits for me to type something and press enter>
'vndumpfilter: E140001: Malformed dumpfile header '
Run Code Online (Sandbox Code Playgroud) 所以这是故事,我有以下SVN回购-
Fruit
- Banana
- trunk
- Mango
Vegetables
- Potato
- trunk
- Mango
- trunk
Run Code Online (Sandbox Code Playgroud)
事实证明,在整个过程中,我们一直在为芒果项目使用错误的回购(蔬菜),并且在水果回购中已有一个现有的芒果文件夹。因此,我的任务是将Vegetables \ Mango \ trunk文件夹放入Fruit \ Mango。这是我的尝试-
// I dump the vegetables repo
svnadmin dump C:\Repos\Vegetables > Vegetables.dump
// I then filter the dump to only include Mango/trunk
svndumpfilter --drop-empty-revs --renumber-revs include Mango/trunk < Vegetables.dump > Mango-trunk.dump
// Finally, I load the filtered dump file into the Fruit/Mango
svnadmin load C:\Repos\Fruit --parent-dir Mango < Mango-trunk.dump
Run Code Online (Sandbox Code Playgroud)
生成的水果回购如下:
Fruit
- Banana
- trunk
- Mango …Run Code Online (Sandbox Code Playgroud) svn ×10
svnadmin ×10
svndump ×2
fsfs ×1
import ×1
pack ×1
repository ×1
tortoisesvn ×1
upgrade ×1