问题标签 [svnadmin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - 如何将本地 svn 存储库迁移到谷歌代码的 svn 存储库?
我的问题与 stackoverflow 上的其他帖子完全不同,例如如何将代码库从一个 svn 存储库迁移到另一个保留历史记录?.
将 svn repo 从一台电脑迁移到另一台电脑很容易,因为我可以完全控制这些电脑。如果我想将本地 svn repo 迁移到 google code 的 svn repo 应该怎么做?
似乎 svnadmin 转储和加载只能用于本地 URI。
那么有没有其他方法可以用来将本地 svn 转储导入谷歌的 svn 主机?
svn - 一次转储 Subversion 存储库一个修订版
我们有一个庞大而草率的 Subversion 存储库,其中包含 60 多个项目。、trunk
和目录位于存储库的根目录中branches
。tags
一些分支已经完成branches/project/branchName
。别人都做完了branches/BranchName/project
。有很多杂物。
有近 200,000 个修订版、22Gb 和 60 多个项目。
我想重组存储库,所以每个项目都有自己的存储库,并制定标准的分支策略。转储整个存储库大约需要 7 到 8 个小时,然后过滤掉我想要的内容是一个非常漫长的过程,因为我必须运行svndumpfilter
多次。
我正在考虑一个新的策略。如果我查看单个项目中涉及的修订,我们可能会谈论 400 个修订。我知道我可以进行svnadmin dump
一系列修订。如果我只转储我感兴趣的项目的修订版怎么办?我可以svnadmin dump
为每个修订版运行。我认为这实际上可能会更快。但是,这将如何影响加载到新存储库中?
是否存在仅转储我想要的修订的问题?
svn - SVN 在两个存储库之间移动带有历史记录的代码
我必须在两个存储库上工作,并且希望在两个存储库之间移动一个包含代码的目录,同时保留修订历史。
我在这里阅读了一些关于 SO 的问题,但仍然不确定该走哪条路。我们的存储库是巨大的(文件(orkingcopy)不包括修订>几个GB),因为所有内容都已签入(代码+设计数据+ ...)。
到目前为止我看到的解决方案是:
- svnadmin 转储 + 过滤器 + 导入:由于存储库大小,不是一个选项
- svnsync:我们已经在第二个存储库中有数据(存储库已经很大了,我认为合并它们不是一个好主意,除了决定这不是我的工作),根据我收集的信息,这需要第二个存储库空的。
- 第三方解决方案:反复崩溃,因为它无法删除文件,因为“另一个进程打开了文件”(尽管我可以通过操作系统删除文件,并且它是由脚本创建的)
是否有其他解决方案、方法,或者我错过了其中一个解决方案的一些内容?
svn - Subversion 存储库中的“/db/txn-current”为空或不存在
我遇到了 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':找到文件结尾
注意:假设我没有存储库的备份,因此我必须手动修复该问题。
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 对该文件执行的唯一操作是“获取和递增”;“txn-current-lock”文件在此操作期间被锁定。
我应该怎么做才能\db\txn-current
正确解决问题?我应该在文件中放入什么整数?有没有其他方法可以解决这个问题?
编辑:
- 除了文件,我如何解决相同的问题(不存在或为空)
db/current
?
svn - svn存储库恢复
我需要将一些分支 repo 合并到另一个中,但是,我错误地使用了“svn copy”,它覆盖了目标存储库,因此一些文件丢失了。好消息是我每天都有使用 `svnadmin dump' 创建的备份,但我不确定如何最好地恢复丢失的文件并保留以后添加的新文件。
我在想这样做:
- 创建一些 svn 临时存储库
- 使用“svn 加载 /path/to/the/temp-repository/
- cd /path/to/the/temp-repository/
- 递归删除所有 .svn 目录
- 转到我已覆盖的分支并使用 rsync 将丢失的文件发送到工作存储库。
不确定这是否是最好的方法。有什么想法吗 ?
svn - svndumpfilter2 vs svndumpfilter3
我一直在 svndumpfilter2 中遇到内存问题(有人将 4Gb 的二进制文件签入到我的 subversion 中......),它只是在那个特定的提交上崩溃。
每次都崩溃
所以我尝试了 svndumpfilter3,来自git repo 的最新副本当我查看 svndumpfilter3 的最新副本时 - 它正在寻找一个环境变量“MODULE”。
我找不到这个记录,当我设置它时,转储似乎不起作用。
有人有关于 svndumpfilter3 的更新指南吗?
svn - svnadmin 没有创建正确的存储库版本
我用 svnadmin 1.7.7 创建了一个 SVN 存储库,但是存储库格式错误。我最终得到
当我尝试加载存储库时。
根据我的阅读,版本 1.7.7 应该创建一个 12 格式的存储库。我错过了什么?
svn - SVN转储大小混乱
当我使用以下命令在我们的 repo 上运行完整转储时,有人可以教育我吗
svnadmin 转储/repo > 备份.dump
这个转储文件大约 90GB
如果我在同一个 repo 上使用以下命令执行转储文件
svnadmin 转储 /repo -r 21782:HEAD > backup.dump
这个转储文件输出为 152GB
即使我错过了前 20,000 次修订,这几乎是两倍大,这怎么可能。
我以为它会更小,这与压缩有关吗?
如果您使用修订版转储其未压缩?
svn - 列出具有特定属性和值的 subversion 存储库中的所有路径
存储库的一部分将移动到新服务器上它自己的存储库,这可能会破坏已设置的外部。
如何找到设置了外部的所有路径的列表?
svn - svn 存储库因构建而失控
我的存储库大小有问题,我的存储库变得失控,因为我们的项目组有一次决定将我们的构建也保留在 svn 中,每个二进制文件大约 30 MB,repo 的每日备份需要 4-5 GB在数百人签入之后。备份存储库并将其复制到每天备份的网络位置变得非常困难。
保存每个构建的备份的最佳做法是什么?
我可以创建一个 svn 提交触发器,将构建压缩并复制到某个地方,而不是把它放到 svn 中吗?
如何缩小我的回购规模?
我可以用 svn 命令摆脱一些旧的二进制文件吗?