问题标签 [fsfs]

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.

0 投票
7 回答
5472 浏览

svn - 如何识别并可能删除 SVN 存储库中的大型二进制提交?

我正在使用一个超过 3 年的 SVN 存储库,包含超过 6,100 次提交,并且大小超过 1.5 GB。在将 SVN 存储库移动到新服务器之前,我想减小 SVN 存储库的大小(我不是在谈论完整 SVN 导出的大小——我指的是服务器上存在的完整存储库)。

当前存储库包含我们所有软件项目的源代码,但它也包含相对较大的无意义二进制文件,例如:

  • 许多 3rd 方工具的完整安装程序。
  • .jpg 和 .png 文件(它们是位于同一文件夹中的未经修改的 PSD 导出)。
  • Bin 和 Obj 文件夹(然后在下一次提交时被“忽略”)。
  • 更清晰的目录。

自从添加这些大文件以来,其中许多大文件已被“SVN 删除”,从而造成了识别最大违规者的进一步问题。

我想要:

  • 创建一个新的 SVN 存储库,其中仅包含所有软件项目的代码 -复制的文件从旧存储库维护其 SVN 历史记录非常重要。
  • 从现有存储库中删除大型二进制提交和文件。

这些都可能吗?

0 投票
3 回答
4939 浏览

svn - 如何确定我拥有的 SVN 存储库的类型?

如何确定给定 SVN 存储库使用的文件系统类型?我想用 svnadmin 创建一个新的存储库,但想确保我创建的新存储库与服务器上已有的其他存储库具有一致的设置。

如果系统上的所有其他人都是 FSFS,我不想设置 berkley 数据库存储库。

我可以可靠地查看 /repositoryname/db/fs-type 吗?

0 投票
5 回答
45566 浏览

svn - subversion 究竟是如何将文件存储在存储库中的?

我阅读了颠覆书,我很清楚颠覆不存储单个文件,而只存储增量以最小化磁盘空间。Subversion 也对二进制文件做同样的事情(这曾经是 CVS 的一个巨大弱点)。

但是我不明白确切的机制。当我提交文件时会发生什么?

  1. Subversion 仅存储差异(并且已经有旧版本)
  2. Subversion 删除以前的版本,完整地存储新文件并创建反向差异,以便在需要时“重新创建”旧版本。
  3. 还有一些我没有想到的。

第一种情况似乎是最合乎逻辑的。然而,这提出了另一个问题。如果我在 subversion 存储库中有一个包含 1000 次提交的文件并且新开发人员签出了一个干净的副本,那么 subversion 必须获取原始版本(初始导入)并在返回结果之前对其应用 1000 个差异。它是否正确?是否对保存最新版本的文件进行某种缓存?

基本上我在哪里可以找到关于 svn 存储库内部的信息?

更新:显然,颠覆的后端在这方面发挥了重要作用。当时或编写 FSFS 使用选项 1,而 BDB 使用选项 2。感谢 msemack!

0 投票
1 回答
231 浏览

svn - 我签入的 svn 文件夹在服务器上的哪个位置?

试图理解一些东西。我在我的服务器上创建了 ad:\svn\repository。我提交了文件夹,但是当我回到 d:\svn\repository 时,我看不到它们。它们都在数据库中吗?我所有的存储库都会放在那个主文件夹中并 svn 跟踪它们吗?如果我有两个项目怎么办?

谢谢你。

0 投票
1 回答
772 浏览

svn - 获取适用于 Windows 的 SubVersion 1.4 可执行文件

我需要使用一个旧的存储库,它的 db/format 包含

这个问题,我明白这意味着它是 1.4 版。

我只有 1.5 个可执行文件,它们生成一个 db/format 包含

我尝试使用 1.5svnadmin来验证 1.4 回购,但它失败了

如果有人对如何解决这个问题有任何想法,那就太好了。我目前的工作计划是获取 1.4 可执行文件。

我遇到的问题是我进行了大量搜索,但找不到任何 SubVersion 1.4 可执行文件下载。

任何帮助将不胜感激。

0 投票
2 回答
826 浏览

svn - Subversion 存储库类型

如何判断存储库是使用 BerkeleyDB 还是 FSFS?

0 投票
1 回答
799 浏览

svn - Collabnet Subversion 从版本 1.6.2 升级路径 - 使用 FSFS 格式

我们使用 Collabnet Subversion,版本为 1.6.2,带有 FSFS 格式存储库。在 Windows 2003 服务器上。

我可以升级到 Subversion Edge 并仍然保留现有的 FSFS 存储库吗?

我希望答案是“显然是”,但我在任何地方都找不到答案。谢谢。

PS 我在 serverfault 中问过这个问题,因为这不是一个真正的编程问题,但在 2 天内没有收到并回答,因此是“真正的”开发人员社区的问题。

0 投票
2 回答
5571 浏览

svn - Subversion FSFS - 版本如何存储在存储库中?

我想了解 subversion 如何在 FSFS 中存储修订,以及如何为给定的修订号构建视图/快照。

我从谷歌搜索得到的是 FSFS 是一个简单的目录结构,每个版本都有子目录,例如:

大概只有更改(增量)记录在每个修订目录下。那么这是否意味着在为修订版 N 构建视图/快照时,必须循环从 0 到 N 的所有增量?

非常感谢任何指向此资源的链接。

谢谢

0 投票
2 回答
662 浏览

svn - 350GB 的 SVN 存储库创建至少 1MB 的修订版,即使是最简单的任务,如分支/标签

当我注意到我的存储库大小以每天 1GB 的速度增长时,这一切都开始了。我做了一个简单的测试。创建现有文件夹的分支/标签,大小为 35KB。我记下了修订号,然后去$REPO/db/revs/<K-rev>/rev-number/检查了修订的大小。它是 1 兆字节。这听起来很可疑。关于这里可能有什么问题的任何想法。我的 repo 大小约为 350GB,大约有 600,000 次修订。

PS 我已经开始重建整个存储库,看看是否有什么不同,但可能需要几天时间才能完成。

0 投票
3 回答
1689 浏览

linux - 重新分片现有的大型 SVN 存储库

我们有一个非常大的 SVN 存储库(50 GB,超过 100000 个修订版)。使用它非常慢,我猜这是因为 db/revs 和 db/revprops 中的平面目录结构(每个修订都是一个文件)。

我们将 FSFS 格式与 SVN 1.5(在 linux 服务器上)一起使用,但 repo 是使用较旧的 SVN 版本创建的。现在我读到 SVN 1.5 支持“分片”,并且我了解到此功能将修订分发到多个目录中,因此单个目录不包含这么多文件。这听起来很有用,但不幸的是,这个功能似乎只用于使用 SVN 1.5 新创建的存储库。

如何将现有的大型线性回购转换为分片回购?手册中提到了工具“fsfs-reshard.py”,但这个脚本说“这个脚本尚未完成,还不能用于实时数据。相信我们。”。所以我绝对不想使用它。有替代方案吗?