人为增加 SVN (FSFS) 存储库中的修订号
我的公司正在执行 SVN 存储库迁移,我希望避免两个存储库(目前都处于活动状态)之间的修订号重叠。
我的要求是强制将新存储库修订为特定修订号(例如:100.000)。
通过分析 FSFS 存储库,我发现了“db/current”文件,这听起来像是更改存储库编号的正确位置。
有人对这个程序有任何经验吗? 我希望以后避免发生奇怪的事情!
PS:我知道我可以向存储库创建“100.000”个虚拟提交。 请分享您在此类过程中的经验以及在过程
PS3 期间和之后存储库可能出现的性能问题:我知道让每个人在过程之前提交工作副本可能是一个好主意。 这对我们来说不是问题(新存储库目前的用户非常有限)。 不过,如果您有此或类似要求的经验,请分享! :)
PS3:我知道这不是标准的 SVN 程序,许多人可能会反对该要求本身。 让我们假设我的要求是合理的! :)
My company is performing a SVN repository migration and I would like to avoid overlapping of revision numbers between the two repositories (which are both active at the time being).
My requirement is to force the revision of the new repository to a specific revision number (say: 100.000).
By analyzing the FSFS repository I have come across the "db/current" file which sounds like the right place where to change the repository number.
Does anyone have any experience with this procedure? I would like to avoid strange things happening in the future!
PS: I understand I can create "100.000" dummy commits to the repository. Please share your experience with such procedure and possible performance issues of the repository during and after the prodecure
PS3: I understand that it might be a good idea to have everybody commit working copies before the procedure. This is not a problem for us (the new repository has very limited users right now). Still, if you have experience with this or similar requirements, please share! :)
PS3: I understand this is not a standard SVN procedure and many might object with the requirement itself. Let's just assume my requirement is sound! :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
http://subversion.tigris.org/ds/viewMessage。 dsForumId=1065&dsMessageId=940194 :
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=940194 :
首先,不要费心去尝试这个。 如果您要合并 2 个,您可以使用 dump/load 将新的放在旧的之上,修订号将为您处理。 因此,除非您需要知道特定版本的修订号(可能是外部版本或标签),否则您根本不必担心这一点。
如果您可以使用该工具,那么它总是比后来发现 svnsync 或 svnadmin pack 无法与您修改的存储库一起使用要好。
好的,所以如果您仍然想这样做,请更新 revprop 0 和 db/current 文件中的最新修订号,应该没问题。
但我认为您不会找到任何对这种方法有直接经验的人!
Firstly, don't bother trying to frig this. If you are to merge the 2, you can use dump/load to put the new one on top of the old and revision numbers will be handled for you. So unless you need to know what revision number a particular version is (for externals perhaps, or tags) then you needn't worry about this at all.
If you can work with the tool, its always better than finding later that svnsync or svnadmin pack, for example, won't work with your modified repository.
OK, so if you still want to do it, update the last-revision number in revprop 0 and the db/current file and you should be ok.
I don't think you'll find anyone who has direct experience with this approach though!
进行虚拟修订的一种简单方法...
根据需要多次重复:
注意:
下一个。 您只需重复相同的命令即可。
我希望这可以节省其他人的研究步骤。
One easy way to make dummy revisions...
As many times as required, repeat:
Note:
next. You can just repeat the same command.
I hope this saves others a few steps of research.
在 Subversion 1.7 中,您可以使用 svndumpfilter 工具从
svnadmin dump
创建的转储文件中过滤掉不需要的提交:http://svnbook.red-bean.com/en/1.7/svn.reposadmin。 maint.html#svn.reposadmin.maint.filtering
从该页面:
,因此这可以用于从特定路径中删除提交数据,这在某些存储库管理场景(但不是全部)中很有帮助; 具体来说,当对存储库的提交按文件夹(例如发布标识符)聚合时,svndumpfilter 将有助于减小存储库大小,从而允许您删除不需要的文件夹。
With Subversion 1.7 you can use the svndumpfilter tool to filter out unwanted commits from a dump file created by
svnadmin dump
:http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering
From that page:
So this can be used to remove commit data from particular paths, which is helpful in some repo management scenarios (but not all); specifically, where commits to a repo are aggregated by folders (such as a release identifier), svndumpfilter will help to reduce the repo size, allowing you to remove unwanted folders.