Source repositories 源代码库 

Since 2.6.29-rc1, Btrfs has been included in the mainline kernel.
自 2.6.29-rc1 版本开始,Btrfs 已经被包含在主线内核中。

Kernel module 内核模块 

The kernel.org git repository is not used for development, only for pull requests that go to Linus and for linux-next integration:
kernel.org git 存储库不用于开发,仅用于发送到 Linus 的拉取请求和用于 linux-next 集成:

  • https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git -- pull request source
    https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git -- 拉取请求来源

  • branch for-next gets pulled to the linux-next tree, is rebased and contains base development branches and topic branches
    for-next 分支被拉取到 linux-next 树中,被重新设置基础开发分支和主题分支

  • branch next-fixes has fixes for the next upcoming rcN and is usually turned into a pull request
    分支 next-fixes 包含了下一个即将发布的 rcN 的修复,通常会被转换为一个拉取请求

The following git repositories are used for development and are updated with patches from the mailing list:
以下 git 仓库用于开发,并会根据邮件列表中的补丁进行更新:

Branches are usually pushed to both repositories, either can be used.
分支通常会被推送到这两个仓库中,可以使用任意一个。

There are: 这里有:

  • misc-next) - main queue with patches for next development cycle, this branch is usually based on the last rcN tag of Linus’ git tree
    misc-next) - 主队列,包含下一个开发周期的补丁,该分支通常基于 Linus 的 git 树中最后一个 rcN 标签

  • e.g. for-4.15 or misc-4.15 - queue with patches for current release cycle, the version changes
    例如 for-4.15 或 misc-4.15 - 包含当前发布周期补丁的队列,版本会发生变化

  • topic branches, e.g. from a patchset picked from mailing list
    主题分支,例如从邮件列表中挑选的补丁集

  • snapshots of for-next, that contain all of the above (e.g. for-next-20200512)
    for-next 的快照,其中包含上述所有内容(例如 for-next-20200512)

Note that the branches get rebased or updated (fixed typos, added Reviewed-by tags etc). The base point for patches depend on the development phase. See development schedule. Independent changes can be based on the linus/master branch, changes that could depend on patches that have been added to one of the queues should use that as a base.
请注意,分支会被 rebase 或更新(修正拼写错误,添加 Reviewed-by 标签等)。补丁的基准点取决于开发阶段。请参阅开发时间表。独立更改可以基于 linus/master 分支,可能依赖于已添加到其中一个队列的补丁的更改应使用该队列作为基准。

btrfs-progs git repository
btrfs-progs git 存储库 

Official repositories 官方存储库 

The sources of the userspace utilities can be obtained from these repositories:
用户空间实用程序的源代码可以从这些存储库中获取:

  • git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git (http://git.kernel.org/?p=linux/kernel/git/kdave/btrfs-progs.git;a=summary) - release repository, not for development
    git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git(http://git.kernel.org/?p=linux/kernel/git/kdave/btrfs-progs.git;a=summary)- 发布存储库,不用于开发

The master branch contains the latest released version and is never rebased.
主分支包含最新发布版本,永远不会被重新设置基线。

Development git repositories:
开发 git 存储库:

For build dependencies and installation instructions please see https://github.com/kdave/btrfs-progs/blob/master/INSTALL
有关构建依赖和安装说明,请参阅 https://github.com/kdave/btrfs-progs/blob/master/INSTALL

Development branches 开发分支

The latest development branch is called devel. Contains patches that are reviewed or tested and on the way to the next release. When a patch is added to the branch, a mail notification is sent as a reply to the patch.
最新的开发分支称为 devel。包含已经审核或测试并正在通往下一个发布的补丁。当一个补丁被添加到分支时,会发送一封邮件通知作为对补丁的回复。

The git repositories on kernel.org are not used for development or integration branches.
kernel.org 上的 git 仓库不用于开发或集成分支。

Note to GitHub users
GitHub 用户请注意 

The pull requests will not be accepted directly, the preferred way is to send patches to the mailing list instead. You can link to a branch in any git repository if the mails do not make it to the mailing list or for convenience.
拉取请求将不会直接被接受,首选方式是将补丁发送到邮件列表。如果邮件未能发送到邮件列表或为了方便,您可以链接到任何 git 仓库中的分支。

The development model of btrfs-progs shares a lot with the kernel model. The github.com way is different in some ways. We, the upstream community, expect that the patches meet some criteria (often lacking in github.com contributions):
btrfs-progs 的开发模型与内核模型有很多共同之处。github.com 的方式在某些方面有所不同。我们,即上游社区,期望这些补丁符合一些标准(通常在 github.com 的贡献中缺少)。

  • proper subject line: e.g. prefix with btrfs-progs: subpart, … , descriptive yet not too long
    适当的主题行:例如,使用 btrfs-progs: subpart 作为前缀,…,描述性但不要太长

  • proper changelog: the changelogs are often missing or lacking explanation why the change was made, or how is something broken, what are user-visible effects of the bug or the fix, how does an improvement help or the intended usecase
    适当的更改日志:更改日志经常缺失或缺乏解释更改的原因,或者说明某些内容是如何损坏的,错误或修复的用户可见效果是什么,改进如何帮助或预期用例是什么

  • the Signed-off-by line: this document who authored the change, you can read more about the The Developer’s Certificate of Origin here (chapter 11)]
    Signed-off-by 行:此行记录了谁撰写了更改,您可以在这里阅读有关开发者证书的更多信息(第 11 章)

  • one logical change per patch: e.g. not mixing bug fixes, cleanups, features etc., sometimes it’s not clear and will be usually pointed out during reviews
    每个补丁只能有一个逻辑变更:例如不混合错误修复、清理、功能等,有时不够清晰,通常会在审查过程中指出

Administration and support tools
管理和支持工具

There is a separate repository of useful scripts for common administrative tasks on btrfs. This is at:
btrfs 有一个单独的有用脚本存储库,用于常见的管理任务。地址为:

https://github.com/kdave/btrfsmaintenance/

Patches sent to mailing list
发送到邮件列表的补丁

A convenient interface to get an overview of patches and the related mail discussions can be found at https://patchwork.kernel.org/project/linux-btrfs/list/ .
可以在 https://patchwork.kernel.org/project/linux-btrfs/list/ 找到一个方便的界面,用于查看补丁和相关邮件讨论的概览。

It is possible to directly apply a patch by pasting the mbox link from the patch page to the command:
可以通过将补丁页面的 mbox 链接粘贴到以下命令中直接应用补丁:

$ wget -O - 'https://patchwork.kernel.org/patch/123456/mbox' | git am -

You may want to add --reject, or decide otherwise what to do with the patch.
您可能想要添加--reject,或者决定如何处理这个补丁。